0

如果没有 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 ?

4

0 回答 0