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