[Numpy-discussion] argsort
Mads Ipsen
madsipsen at gmail.com
Wed Jan 16 03:30:55 EST 2013
Hi,
Thanks everybody for all the answers that make perfect sense when axis=0.
Now suppose I want to sort the array in such a way that each row is
sorted individually. Then I suppose I should do this:
from numpy import *
v = array([[4,3],
[1,12],
[23,7],
[11,6],
[8,9]])
idx = argsort(v, axis=1)
idx is then
[[1 0]
[0 1]
[1 0]
[1 0]
[0 1]]
which makes sense, since these are the indices in an order that would
sort each row. But when I try
a[idx, variuos_additional_arguments]
I just get strange results. Anybody that can point me towards the
correct solution.
Best regards,
Mads
On 01/15/2013 09:53 PM, eat wrote:
> Hi,
>
> On Tue, Jan 15, 2013 at 1:50 PM, Mads Ipsen <madsipsen at gmail.com
> <mailto:madsipsen at gmail.com>> wrote:
>
> Hi,
>
> I simply can't understand this. I'm trying to use argsort to
> produce indices that can be used to sort an array:
>
> from numpy import *
>
> indices = array([[4,3],[1,12],[23,7],[11,6],[8,9]])
> args = argsort(indices, axis=0)
> print indices[args]
>
> gives:
>
> [[[ 1 12]
> [ 4 3]]
>
> [[ 4 3]
> [11 6]]
>
> [[ 8 9]
> [23 7]]
>
> [[11 6]
> [ 8 9]]
>
> [[23 7]
> [ 1 12]]]
>
> I thought this should produce a sorted version of the indices array.
>
> Any help is appreciated.
>
> Perhaps these three different point of views will help you a little
> bit more to move on:
> In []: x
> Out[]:
> array([[ 4, 3],
> [ 1, 12],
> [23, 7],
> [11, 6],
> [ 8, 9]])
> In []: ind= x.argsort(axis= 0)
> In []: ind
> Out[]:
> array([[1, 0],
> [0, 3],
> [4, 2],
> [3, 4],
> [2, 1]])
>
> In []: x[ind[:, 0]]
> Out[]:
> array([[ 1, 12],
> [ 4, 3],
> [ 8, 9],
> [11, 6],
> [23, 7]])
>
> In []: x[ind[:, 1]]
> Out[]:
> array([[ 4, 3],
> [11, 6],
> [23, 7],
> [ 8, 9],
> [ 1, 12]])
>
> In []: x[ind, [0, 1]]
> Out[]:
> array([[ 1, 3],
> [ 4, 6],
> [ 8, 7],
> [11, 9],
> [23, 12]])
> -eat
>
>
> Best regards,
>
> Mads
>
> --
> +-----------------------------------------------------+
> | Mads Ipsen |
> +----------------------+------------------------------+
> | Gåsebæksvej 7, 4. tv | |
> | DK-2500 Valby | phone:+45-29716388 <tel:%2B45-29716388> |
> | Denmark | email:mads.ipsen at gmail.com <mailto:mads.ipsen at gmail.com> |
> +----------------------+------------------------------+
>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org <mailto:NumPy-Discussion at scipy.org>
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
--
+-----------------------------------------------------+
| Mads Ipsen |
+----------------------+------------------------------+
| Gåsebæksvej 7, 4. tv | |
| DK-2500 Valby | phone: +45-29716388 |
| Denmark | email: mads.ipsen at gmail.com |
+----------------------+------------------------------+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20130116/19346851/attachment.html>
More information about the NumPy-Discussion
mailing list