我有一个ndarray arr = np.array([[1,2,3],[4,5,6],[7,8,9]])
和一个index-arrayarr_idx = np.array([[0,2],[1,2],[2,1]])
其中arr_idx
中的每一行对应于我想要的arr
的索引,即结果应该是[[1,3],[5,6],[9,8]]
。
我可以使用例如listcomprehension来完成它,但是我有一些相当大的数据,因此如果我们可以将其向量化,那会更好。
我试过了
result = arr[arr_idx]
这导致了
array([[[1, 2, 3],
[7, 8, 9]],
[[4, 5, 6],
[7, 8, 9]],
[[7, 8, 9],
[4, 5, 6]]])
应该是array([[1,3],[5,6],[9,8]])
1条答案
按热度按时间deikduxw1#
您需要用途:
或者:
输出: