添加numpy零数组和屏蔽数组

时间:2015-11-04 04:55:25

标签: python numpy mask

我有2个numpy数组:

arr_a = numpy.zeros(shape=(3, 3))

arr_b是第二个numpy数组,但掩码值为-9999.0

如果我这样做:

arr_a += arr_b

然后生成的arr_a不保留掩码。如何获得保留掩码的数组?

1 个答案:

答案 0 :(得分:3)

我假设arr_bnumpy.ma.array的一个实例。在这种情况下,numpy的语义意味着arr_a += arr_b正在添加数组就地。因此,它当然不能将其类型从numpy.array更改为numpy.ma.array

这与创建 new 输出数组的arr_a + arr_b形成鲜明对比,因此可以随意分配它。

如果您希望在原地添加蒙版数组,则必须将目标(arr_a)转换为蒙版数组。

>>> arr_a = ma.asarray(arr_a)
>>> arr_a += arr_b