Numpy中masked Array

在许多情况下,数据集可能不完整或因无效数据的存在而受到污染。 例如,传感器可能无法记录数据或记录无效值。 numpy.ma模块通过引入掩码数组提供了一种解决此问题的便捷方法。

masked数组是标准numpy.ndarray和 masked的组合。 掩码是nomask,表示关联数组的值无效,或者是一个布尔数组,用于确定关联数组的每个元素是否有效。 当掩码的元素为False时,关联数组的相应元素有效,并且被称为未屏蔽。 当掩码的元素为True时,相关数组的相应元素被称为被屏蔽(无效)。

该包确保在计算中不使用被屏蔽的条目。

>>> import numpy as np
>>> import numpy.ma as ma
>>> x = np.array([1, 2, 3, -1, 5])
如果我们希望-1被标记为无效
则可以:
>>> mx = ma.masked_array(x, mask=[0, 0, 0, 1, 0])
当计算平均值时,不会考虑无效
>>> mx.mean()
2.75
import numpy.ma as ma
x = np.array([1,2,3,5,7,4,3,2,8,0])
mask = x < 5
mx = ma.array(x,mask=mask)
print(mask)
print(mx)
print(mx.filled())

Out:
[ True True True False False True True True False True]
[-- – -- 5 7 – -- – 8 --]
[999999 999999 999999 5 7 999999 999999 999999 8 999999]

猜你喜欢

转载自blog.csdn.net/qq1195365047/article/details/88555611