From: Charles R H. <cha...@gm...> - 2006-11-13 01:15:13
|
On 11/12/06, Erin Sheldon <eri...@gm...> wrote: > > On 11/12/06, Erin Sheldon <eri...@gm...> wrote: > > On 11/12/06, Pierre GM <pgm...@gm...> wrote: > > > > > > You could try the fromarrays function of numpy.core.records > > > > > > >>> mydescriptor = {'names': (a','b','c','d'), 'formats':('f4', 'f4', > 'f4', > > > 'f4')} > > > >>> a = N.core.records.fromarrays(N.transpose(yourlist), > dtype=mydescriptor) > > > > > > The 'transpose' function ensures that 'fromarrays' sees 4 arrays (one > for each > > > column). > > Actually, there is a problem with that approach. It first converts > the entire array to a single type, by default a floating type. For > very large integers this precision is insufficient. For example, I > have the following integer in my arrays: > 94137100072000193L > which ends up as > 94137100072000192 > after going to a float and then back to an integer. Out of curiosity, where does that large integer come from? Chuck |