array from list of lists
Tim Hochberg
tim.hochberg at ieee.org
Sun Nov 12 22:07:50 EST 2006
Erin Sheldon wrote:
> On 11/12/06, Erin Sheldon <erin.sheldon at gmail.com> wrote:
>
>> On 11/12/06, Pierre GM <pgmdevlist at gmail.com> 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.
-tim
-------------------------------------------------------------------------
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
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
More information about the NumPy-Discussion
mailing list