我有一个numpy数组:
a = np.array([
[4, 7, 3],
[7, 1, 8],
[9, 3, 2],
])
和另一个索引数组:
I = np.array([
[2, 1, 0],
[1, 2, 0],
[0, 2, 1],
])
我想在a
的每一行之后重新排列I
的每一行,我可以像下面这样做:
b = a[np.arange(3).reshape(-1, 1), I]
并得到结果:
[[3 7 4]
[1 8 7]
[9 2 3]]
但我认为使用np.arange(3).reshape(-1, 1)
太难看了。是否有更简单的代码来完成这件事?