具有缺失值的Numpy掩码输入数据

时间:2014-05-08 06:51:03

标签: python arrays numpy

我使用loadtxt从csv加载数据,其中所有值都是浮点数,但缺少的数据除外,这些数据被编码为字符"?"。

我正在尝试创建一个蒙版数组,以便我可以在加载的数据上使用np.ma函数,其中为了平均值而忽略丢失的数据等。我已经阅读了文档对于masked_array,这可能是非常微不足道的,但我似乎无法弄清楚如何掩盖这个数组?因np.ma数学函数而被忽略。

1 个答案:

答案 0 :(得分:2)

您只需使用np.genfromtxt()即可读取文件并屏蔽生成的nan值。例如:

输入:

11, 12, 13, ?, ?, 16
21, 22, ?, 24, ?, 26

代码:

a = np.genfromtxt('test.txt', delimiter=',', missing_values='?', usemask=True)

a.sum(axis=1).data
#array([ 52.,  93.])

a.mean()
#18.125