Python 二维数组排序问题

Python 二维数组排序问题,python,numpy,Python,Numpy,我有以下2D numpy阵列: array([[1 0] [2 0] [4 0] [1 1] [2 1] [3 1] [4 2]) 我想对第一列的ID进行排序,将其值放在第二个值中,然后返回: array([[1 0] [1 1] [2 0] [2 1] [3 1] [4 0] [4 2]]) 我越来越复杂,希望进一步改进。尝

我有以下2D numpy阵列:

array([[1 0]
       [2 0]
       [4 0]
       [1 1]
       [2 1]
       [3 1]
       [4 2])
我想对第一列的ID进行排序,将其值放在第二个值中,然后返回:

array([[1 0]
       [1 1]
       [2 0]
       [2 1]
       [3 1]
       [4 0]
       [4 2]])

我越来越复杂,希望进一步改进。

尝试下面的代码,希望这会有所帮助:

a = np.array([[1, 0],
       [2 ,0],
       [4 ,0],
       [1 ,1],
       [2 ,1],
       [3 ,1],
       [4 ,2]])

np.sort(a.view('i8,i8'), order=['f0'], axis=0).view(np.int)
输出将是:

array([[(1, 0)],
       [(1, 1)],
       [(2, 0)],
       [(2, 1)],
       [(3, 1)],
       [(4, 0)],
       [(4, 2)]])

排序列表的更好方法:

将numpy导入为np
a=np.数组([[1,0],[2,0],[4,0],[1,1],[2,1],[3,1],[4,2]]
s_a=np.asarray(排序(a,key=lambda x:x[0]))
印刷品(s_a)
输出:

[[1 0]
 [1 1]
 [2 0]
 [2 1]
 [3 1]
 [4 0]
 [4 2]]

你试过使用numpy排序吗?你能展示你的解决方案吗?@Austin这只是我数据中的2列,如果我展示我的解决方案,我必须修复所有问题我得到了这个bug的值错误:当更改为更大的数据类型时,它的大小必须是数组最后一个轴的总大小(以字节为单位)的除数。@Cuz.I'm.BatMan请投票并接受我的答案,如果它对你有用的话。@Cuz.I'm.BatMan不客气,我很高兴能提供帮助。