有时候数据集中存在缺失、异常或者无效的数值,我们可以标记该元素为被屏蔽(无效)状态。
>>> import numpy as np
>>> import numpy.ma as ma
>>> x = np.array([1, 2, 3, -99, 5])
>>> x
array([ 1, 2, 3, -99, 5])
现在可以创造一个掩码数组(标记第四个元素为无效状态)。
>>> mx = ma.masked_array(x, mask=[0,
0, 0, 1, 0])
>>> mx
masked_array(data = [1 2 3 -- 5],
mask = [False False False True False],
fill_value = 999999)
接下来可以计算平均值而不用考虑无效数据。
>>> mx.mean()
2.75
访问掩码
可通过其mask属性访问掩码数组的掩码。我们必须记住,掩码中的True条目表示无效数据。
>>> mx
masked_array(data = [1 2 3 -- 5],
mask = [False False False True False],
fill_value = 999999)
>>> mx.mask
array([False, False, False, True, False], dtype=bool)
只访问有效数据
当只想访问有效数据时,我们可以使用掩码的逆作为索引。可以
Numpy 修炼之道 (11)—— 掩码数组
最新推荐文章于 2022-09-05 15:10:53 发布