如果没有 for 循环,我在执行以下操作时遇到了麻烦:
我有一个数组 A 这样:
A.shape = [50,80,100,100]
和一个数组 B 使得:
B.shape = [50,5]
对于 k,B[k] 是我想要保留的沿轴 = 1 的索引(0<= B[k,i] < 79)
我想以 C 结尾:
C.shape = [50,5,100,100]
我可以这样做:
for k in range(A.shape[0]):
C[k] = A[k][B[k]]
但我没有找到一种矢量化的方式来表达这一点。由于这运行了很多次:有没有更好(更快)的方法来获得 C ?