我有两个具有相同尺寸和形状的数组。该nv_arr
数组具有空值(-9999)。我创建了一个掩码数组nv_mask
,以屏蔽除-9999以外的所有值,从而以某种方式通过位置“更新”此out
数组,而无需创建新数组。
换句话说,数字0、3、6和2必须替换为-9999。我该怎么办?
>>> nv_arr
([[-9999, 123, -9999],
[-9999, 444, 444],
[-9999, 323, 323]])
>>> nv_mask
[[-9999 -- -9999]
[-9999 -- --]
[-9999 -- --]]
>>> out
([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
答案 0 :(得分:1)
假设nv_mask
是MaskedArray
,则可以调用.mask
属性来设置值:
>>> out[~nv_mask.mask] = -9999
>>> out
array([[-9999, 1, -9999],
[-9999, 4, 5],
[-9999, 7, 8]])