根据另一个数组提供的索引对 numpy 数组进行排序

问题描述 投票:0回答:1

A = [5,7,6] 且 I = [2,0,1]。

我想重新组织 A 以获得 A_new = [7,6,5]

但是,当我使用 A_new = numpy.take_along_axis(A,I,1) 时,我得到 A_new = [6,5,7]。

在我的例子中,5 的索引应该是 2,而不是 6 的索引是 2。请让我知道如何在不使用 for 循环的情况下完成此操作。

但是,当我使用 A_new = numpy.take_along_axis(A,I,1) 时,我得到 A_new = [6,5,7]。

arrays numpy sorting indexing
1个回答
0
投票

“技巧”是使用

I
为“黑色”数组赋值:

In [192]: A = [5,7,6];I = [2,0,1]

In [193]: res=np.zeros_like(A); res[I] = A

In [194]: res
Out[194]: array([7, 6, 5])
© www.soinside.com 2019 - 2024. All rights reserved.