例如
In [11]: X = np.array([[1,2,3,4],[1,2,6,3],[12,35,1,6]])
给出
In [12]: X
Out[12]:
array([[ 1, 2, 3, 4],
[ 1, 2, 6, 3],
[12, 35, 1, 6]])
现在,如果我使用
对此进行排序In [13]: X.sort(axis=0)
In [14]: X
Out[14]:
array([[ 1, 2, 1, 3],
[ 1, 2, 3, 4],
[12, 35, 6, 6]])
我丢失了行结构。我要做的就是一次对一列进行排序并维护行结构。所以
第3栏订购
In [14]: X
Out[14]:
array([[ 12, 35, 1, 6],
[ 1, 2, 3, 4],
[1, 2, 6, 3]])
第三列按顺序排列,并且行保持不变。
如何使用numpy做到这一点?
答案 0 :(得分:0)
您可以使用np.argsort
:
Y = X[X[:, 2].argsort()]
array([[12, 35, 1, 6],
[ 1, 2, 3, 4],
[ 1, 2, 6, 3]])