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]。
“技巧”是使用
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])