[Numpy-discussion] indexing to sort with argsort(..., axis=1)

Angus McMorland amcmorl at gmail.com
Tue Apr 13 08:17:39 EDT 2010


On 13 April 2010 04:01, Gökhan Sever <gokhansever at gmail.com> wrote:
>
>
> On Mon, Apr 12, 2010 at 9:41 PM, Angus McMorland <amcmorl at gmail.com>wrote:
>
>> Hi all,
>>
>> I want to sort a 2d array along one dimension, with the indices returned
>> by argsort, but the subsequent indexing syntax to get the sorted array is
>> not obvious.
>>
>> The following works, but I wonder if there is a simpler way:
>>
>> a = np.random.random(size=(5,3))
>> s = np.argsort(a, axis=1)
>> sorted = a[:,s][np.eye(5,5, dtype=bool)] # it looks like this line could
>> be simpler
>>
>> What's the correct, concise way to do this?
>>
>
> Why not just:
>
> b = np.sort(a)
>
> What advantage does argsort provides in this case?
>

I want to be able to sort another array the same way; calculating b is
really just a check that I was doing the sort correctly.

Thanks Josef, for the reminder about using arange. I realise I've seen it
before, but haven't got it intuitive in my head yet.

A.
-- 
AJC McMorland
Post-doctoral research fellow
Neurobiology, University of Pittsburgh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20100413/7b7b7994/attachment.html>


More information about the NumPy-Discussion mailing list