我有两个Numpy数组:a: [2,5,3,7,9,1]
和b: [1,2,3,4,5,6]
。我想对a进行排序,并以与b
的索引相同的方式移动a
的元素。在这种情况下,a
将成为[1,2,3,5,7,9]
,而b
将成为[6,1,3,2,4,5]
。我知道如何使用np.sort
对a
进行排序,但是我将如何重新排列b
?
答案 0 :(得分:2)
使用NumPy的argsort
:
>>> b[a.argsort()]
array([6, 1, 3, 2, 4, 5])
没有NumPy的替代方法:
>>> a, b = zip(*sorted(zip(a, b)))
>>> a
(1, 2, 3, 5, 7, 9)
>>> b
(6, 1, 3, 2, 4, 5)