import numpy as np
import numpy.ma as ma
"""This operates as expected with one value masked"""
a = [0., 1., 1.e20, 9.]
error_value = 1.e20
b = ma.masked_values(a, error_value)
print b
"""This does not, all values are masked """
d = [0., 1., 'NA', 9.]
error_value = 'NA'
e = ma.masked_values(d, error_value)
print e
如何使用'nan','NA','None'或某些类似的值来指示缺失的数据?Numpy屏蔽阵列 - 指示缺失值
我想保留我的数组(在内存中)缺少的值信息。我使用掩码的目的是让数组可以平均,忽略缺失的值。正如ma文档中指出的,ma的目的是允许处理缺失或无效值的数据。在真实数据系列“不适用”中,“无”或类似标记用于标记缺失值。 “fill_value”选项是否提供了任何方式来实现我的目标? –
@Dick:是的,上述两种方法都可以完成你所需要的。它们都保留了元素3丢失的信息(如果这是你所关心的,fill_value并不重要)。例如,你可以调用'a.mean()'或'e.mean()',看看结果是'3.33'。在上面的例子中,无论数据序列用于缺失值的字符/字符串都可以用来代替“NA”。 – ars