[Numpy-discussion] how to use argsort result?
Travis Oliphant
oliphant.travis at ieee.org
Thu Jul 13 05:07:25 EDT 2006
Pau Gargallo wrote:
> On 7/12/06, Victoria G. Laidler <laidler at stsci.edu> wrote:
>
>> Hi,
>>
>> Pardon me if I'm reprising an earlier discussion, as I'm new to the list.
>>
>> But is there a reason that this obscure syntax
>>
>> A[arange(2)[:,newaxis],indexes]
>>
>> A[arange(A.shape[0])[:,newaxis],indexes]
>>
>> is preferable to the intuitively reasonable thing that the Original
>> Poster did?
>>
>> A[indexes]
>>
>>
>
> i don't think so.
> The obscure syntax is just a way you can solve the problem with the
> current state of NumPy. Of course, a more clearer syntax would be
> better, but for this, something in NumPy should be changed.
>
> This other syntax is longer but clearer:
> ind = indices(A.shape)
> ind[ax] = A.argsort(axis=ax)
> A[ind]
>
> Which brings me to the question:
>
> Would it be reasonable if argsort returned the complete tuple of
> indices, so that
> A[A.argsort(ax)] would work ?
>
>
I think this is reasonable. We would need a way for the argsort()
function to work as it does now. I'm not sure if anybody actually uses
the multidimensional behavior of argsort now, but it's been in Numeric
for a long time.
-Travis
More information about the NumPy-Discussion
mailing list