我正在尝试在numpy矩阵的一部分上应用布尔型掩码数组。我只是想出以下方法来实现此目的,首先将此切片复制到单个数组中,然后在此临时数组上应用布尔掩码,然后将其复制回到矩阵中。
我想知道是否存在(肯定存在!但是我找不到它)一种更便宜的实现方法?又名,无需复制。
#(data is a numpy 2d matrix)
tmp = data[i,:]
tmp[tmp==0] = mean
data[i,:] = tmp
答案 0 :(得分:1)
那呢?
mask = data[i,:] == 0
data[i,mask] = mean