Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 按整行/整列进行numpy排序_Python_Numpy_Matrix - Fatal编程技术网

Python 按整行/整列进行numpy排序

Python 按整行/整列进行numpy排序,python,numpy,matrix,Python,Numpy,Matrix,我正在尝试按numpy中的整行对2d数组进行排序:也就是说,每行中的元素在该行中应保持其顺序,但整行本身可以与另一行交换。对于每一行,它们的顺序由它们的元素决定:通过每个元素,如果第1行中的第i个元素与第2行相同,请查看第i+1元素。否则,取第i个元素较小的行: import numpy as np a = array([[1,2,3,4], [0,3,4,5], [1,2,4,5], [0,2,4,5],]) 返回:

我正在尝试按numpy中的整行对2d数组进行排序:也就是说,每行中的元素在该行中应保持其顺序,但整行本身可以与另一行交换。对于每一行,它们的顺序由它们的元素决定:通过每个元素,如果第1行中的第i个元素与第2行相同,请查看第i+1元素。否则,取第i个元素较小的行:

import numpy as np
a = array([[1,2,3,4],
           [0,3,4,5],
           [1,2,4,5],
           [0,2,4,5],])
返回:

          [[0,2,4,5],
           [0,3,4,5],
           [1,2,3,4],
           [1,2,4,5]]
是否有预构建的numpy函数可以执行此操作?

有。将
a
(作为行,因此
a.T
)的列作为排序键传入,注意最后一个键定义了主要排序顺序(因此使用
a.T[:-1]
反转键):

>a[np.lexsort(a.T[:-1])]
数组([[0,2,4,5],
[0, 3, 4, 5],
[1, 2, 3, 4],
[1, 2, 4, 5]])