Here's how I sorted primarily by field 'a' descending and secondarily by
field 'b' ascending:
(Note that 'a' is the second column, 'b' is the first)
>>> data
array([('b', 0.03),
('c', 0.03),
('f', 0.03),
('e', 0.01),
('d', 0.04),
('a', 0.04)],
dtype=[('b', '|S32'), ('a', '<f8')])
>>> data.sort(order='b') # sort by b
>>> data = data[::-1] # reverse
>>> data[numpy.argsort(data['a'])][::-1] # sort by a and reverse
array([('a', 0.04),
('d', 0.04),
('b', 0.03),
('c', 0.03),
('f', 0.03),
('e', 0.01)],
dtype=[('b', '|S32'), ('a', '<f8')])
My question is whether there's an easier way to do this. Originally I
thought it would be possible to just do:
>>> data.sort(order=('-a', 'b'))
...indicating that the order of 'a' is descending, but this isn't part of
NumPy's sort behavior.
Your help is appreciated!
Thank you,
Patrick
_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion