我有一个数字数组"arr"和一个索引数组"ind":
import numpy as np
arr = np.random.randint(255, size=(100,64,64,16))
ind = np.random.randint(16, size=(100,2))
在arr
中,最后一个维度表示通道,而第一个维度表示采样数.在ind
中,每行表示对应于arr
中的每个样本的两个随机信道索引.我希望对于对应于ind
、without using any loop中的通道索引的arr
中的每个样本,使整个64 x 64
通道的值等于0
.如何才能做到这一点?
我曾try 使用:
arr[:,:,:,ind] = 0
我原以为索引会按样本广播,但结果整个数组变成了0
.使用循环非常耗时且效率低下.我也想使用np.where
,但我不确定使用什么条件来访问数组的索引.