Slice numpy array with other array
我试图提取一个numpy数组
1 2 3 | for i in x.shape[0]: for j in x.shape[1]: z[i,j,:] = y[x[i,j,0],x[i,j,1],x[i,j,2],:] |
理想情况下,无论
一般情况下,
其动机是从向量场中提取向量的子集。
这应该可以很好地工作:
1 | y[x[..., 0], x[..., 1], x[..., 2]] |
一般来说:
1 | y[tuple(np.rollaxis(x, -1))] |
号