numpy:如何便宜地在numpy矩阵切片上应用布尔索引数组

时间:2018-07-07 01:00:06

标签: python arrays numpy mask

我正在尝试在numpy矩阵的一部分上应用布尔型掩码数组。我只是想出以下方法来实现此目的,首先将此切片复制到单个数组中,然后在此临时数组上应用布尔掩码,然后将其复制回到矩阵中。

我想知道是否存在(肯定存在!但是我找不到它)一种更便宜的实现方法?又名,无需复制。

#(data is a numpy 2d matrix)

tmp = data[i,:]
tmp[tmp==0] = mean
data[i,:] = tmp

1 个答案:

答案 0 :(得分:1)

那呢?

mask = data[i,:] == 0
data[i,mask] = mean