我有一个形状为(i,j,k)
的3Dnp.array
,两个1Dnp.array
包含j
-轴和k
-轴上的索引。
例如
idx = np.array([0, 1])
idy = np.array([1, 2])
array = np.arange(0, 18).reshape(2, 3, 3)
array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]]])
我想要array[0,0,1]
、array[0,1,2]
、array[1,0,1]
和array[1,1,2]
,也就是np.array([1,5,10,14])
。
这足够吗:
In [197]: arr[:,idx,idy]
Out[197]:
array([[ 1, 5],
[10, 14]])
In [198]: arr[:,idx,idy].ravel()
Out[198]: array([ 1, 5, 10, 14])