# Sorting array

T

#### Tartifola

Hi,
I'm working with numerical array and I'm a little lost on a particular
sorting of one of them. In particular I have an array like

a = array([[8,4,1],[2,0,9]])

and I need to sort it using only the first column as reference but
keeping the lines together so to obtain

array([[2, 0, 9],
[8, 4, 1]])

Any help?
Thanks

C

#### Chris Hulan

the list.sort method seems to do exactly what you want?

Unless your array() method is creating a custom array object with
different sort functionality than list?

Cheers

R

#### Robert Kern

Chris said:
the list.sort method seems to do exactly what you want?

Unless your array() method is creating a custom array object with
different sort functionality than list?

Presumably he is using numpy arrays.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
an underlying truth."
-- Umberto Eco

R

#### Robert Kern

Tartifola said:
Hi,
I'm working with numerical array and I'm a little lost on a particular
sorting of one of them. In particular I have an array like

a = array([[8,4,1],[2,0,9]])

and I need to sort it using only the first column as reference but
keeping the lines together so to obtain

array([[2, 0, 9],
[8, 4, 1]])

In [1]: from numpy import *

In [2]: a = array([[8,4,1],[2,0,9]])

In [3]: i = argsort(a[:,0])

In [4]: a
Out[4]:
array([[2, 0, 9],
[8, 4, 1]])

numpy questions are best asked on the numpy-discussion mailing list since
everyone there automatically knows that you are talking about numpy arrays and
not just misnaming lists. ;-)

http://www.scipy.org/Mailing_Lists

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
an underlying truth."
-- Umberto Eco

T

#### Tartifola

Hi,

Tartifola said:
Hi,
I'm working with numerical array and I'm a little lost on a particular
sorting of one of them. In particular I have an array like

a = array([[8,4,1],[2,0,9]])

and I need to sort it using only the first column as reference but
keeping the lines together so to obtain

array([[2, 0, 9],
[8, 4, 1]])

In [1]: from numpy import *

In [2]: a = array([[8,4,1],[2,0,9]])

In [3]: i = argsort(a[:,0])

In [4]: a
Out[4]:
array([[2, 0, 9],
[8, 4, 1]])

numpy questions are best asked on the numpy-discussion mailing list since
everyone there automatically knows that you are talking about numpy arrays and
not just misnaming lists. ;-)

http://www.scipy.org/Mailing_Lists

thanks a lot for your help and sorry for using the wrong list.

R

#### Robert Kern

Tartifola said:
Hi,

On Fri, 30 Nov 2007 14:55:08 -0600

thanks a lot for your help and sorry for using the wrong list.

No need to apologize. This isn't the wrong list; it's just that there is a
better list.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma