Looks like 'sort' is not handling endianess of the column data
correctly. If you change the type of the floating point data to 'i2')])
In [141]: z.sort(order='num')
In [142]: z
Out[142]:
array([(255,), (0,), (256,), (1,), (258,)],
dtype=[('num', '>i2')])
In [143]: np.__version__
Out[143]: '1.3.0'
-
Sorting works as expected with a simple array of short ints:
-
In [152]: w = np.array([0,258, 3, 255], dtype=' I am having trouble sorting a structured array - in the example below,
> sorting by the first column (col1) seems to work, but not sorting by the
> second column (col2). Is this a bug?
>
> I am using numpy svn r8071 on MacOS 10.6.
>
> Thanks for any help,
>
> Thomas
>
> Python 2.6.1 (r261:67515, Jul 7 2009, 23:51:51)
> [GCC 4.2.1 (Apple Inc. build 5646)] on darwin
> Type "help", "copyright", "credits" or "license" for more information.
>
import numpy as np
data = np.array([('a ', 2.), ('b', 4.), ('d', 3.), ('c', 1.)],
> ... dtype=[('col1', '|S5'), ('col2', '>f8')])
>
data
> array([('a ', 2.0), ('b', 4.0), ('d', 3.0), ('c', 1.0)],
> dtype=[('col1', '|S5'), ('col2', '>f8')])
>
data.sort(order=['col1'])
data
> array([('a ', 2.0), ('b', 4.0), ('c', 1.0), ('d', 3.0)],
> dtype=[('col1', '|S5'), ('col2', '>f8')])
>
data.sort(order=['col2'])
data
> array([('a ', 2.0), ('d', 3.0), ('b', 4.0), ('c', 1.0)],
> dtype=[('col1', '|S5'), ('col2', '>f8')])
>
>
> ___
> NumPy-Discussion mailing list
> [email protected]
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
___
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion