Github
numpy.ma模块
当数组元素包括缺失值或异常值时,该数组被称为掩码数组。numpy.ma模块的工作方式可以这么来解释:支持数值数组中包含掩码元素。掩码数组是将标准的多维数组numpy.ndarray和掩码相结合。掩码要么是nomask,表示与该掩码有关数组的所有值都是有效的。要么是一个布尔值数组,用于确定关联数组的每个元素值是否有效。当掩码中某个元素值为False,那么关联数组的对应元素是有效的,即被认为是未掩码的。当掩码中某个元素值为True,那么关联数组的对应元素是无效的,即被认为是掩码的。
这个包可以确保掩码项不参与计算
import numpy as np
import numpy.ma as ma
x = np.array([1, 2, 3, -1, 5])
mx = ma.masked_array(x, mask=[0, 0, 0, 1, 0])
print('仅仅计算[1, 2, 3, 5]的均值,计算结果为:{}'.format(mx.mean()))