我有一个 3d 数组 a = np.arange(108).reshape(6, 6, 3)
。我想获取数组的某些索引,如 i = np.array([[0, 1], [1, 3], [2, 1]])
所定义,这样结果是[[3,4,5],[27,28,29],[39,40,41]]
。我需要一种有效的方法来做到这一点,因为我的实际数组要大得多。
最佳答案
从i
中提取第一和第二维度索引,然后使用advanced indexing :
a[i[:,0], i[:,1], :] # or a[i[:,0], i[:,1]]
#array([[ 3, 4, 5],
# [27, 28, 29],
# [39, 40, 41]])
关于来自索引数组的python numpy数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48393977/