array from list of lists

Tim Hochberg tim.hochberg at
Sun Nov 12 21:07:50 CST 2006

Erin Sheldon wrote:
> On 11/12/06, Erin Sheldon <erin.sheldon at> wrote:
>> On 11/12/06, Pierre GM <pgmdevlist at> 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.

I haven't been following this too closely, but if you need to transpose 
your data without converting all to one type, I can think of a couple of 
different approaches:

    1.  zip(*yourlist)
    2. numpy.transpose(numpy.array(yourlist, dtype=object)

I haven't tested them though (particularly the second one), so caveat 
emptor, etc, etc.


Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo

More information about the Numpy-discussion mailing list