From: Travis O. <oli...@ie...> - 2006-07-13 09:07:30
|
Pau Gargallo wrote: > On 7/12/06, Victoria G. Laidler <la...@st...> 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 |