2D数组的Python掩码

时间:2015-08-04 16:02:59

标签: python numpy

我已按以下方式生成了一个面具 -

mask_v_co = numpy.ones((numRows_v_co, numCols_v_co)).astype(numpy.uint8)
counter = 0
for i in range(numRows_v_co):
 for j in range(numCols_v_co):
  if Data_v_co[i,j] < 0:
    counter += 1          # Counting missing observation
    mask_v_co[i,j] = 0

如何使用numpy masked array module生成掩码,其中0表示无效条目(wherever Data_v_co[i,j] < 0),1表示有效条目?

1 个答案:

答案 0 :(得分:1)

难道你不能只做以下的事情吗?

import numpy as np

mask = np.ones_like(Data_v_co, dtype='int8')
mask[Data_v_co < 0] = 0

# count zeros
counter = np.prod(mask.shape) - mask.sum()