使用NumPy进行2D排序 - 排序1行,让另一行按照排序进行排序

woo*_*ock 7 python sorting numpy scipy

说我有一个NumPy数组:

[[4 9 2]
 [5 1 3]]
Run Code Online (Sandbox Code Playgroud)

我想对这个数组的底行进行排序,但是顶行跟随排序,这样我得到:

[[9 2 4]
 [1 3 5]]
Run Code Online (Sandbox Code Playgroud)

我知道您可以使用sorted()函数进行排序,但这需要输入和输出列表.

有任何想法吗?非常感谢!

til*_*ten 11

import numpy as np
a = np.array([[4,9,2],[5,1,3]])
idx = np.argsort(a[1])
Run Code Online (Sandbox Code Playgroud)

现在您可以使用idx索引数组:

b=a[:,idx]
Run Code Online (Sandbox Code Playgroud)