索引数组的python numpy数组

时间:2018-01-23 03:57:45

标签: python arrays numpy indexing

我有一个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]]。我需要一种有效的方法,因为我的实际数组要大得多。

1 个答案:

答案 0 :(得分:2)

i中提取第一维和第二维索引,然后使用advanced indexing

a[i[:,0], i[:,1], :]   # or a[i[:,0], i[:,1]]

#array([[ 3,  4,  5],
#       [27, 28, 29],
#       [39, 40, 41]])