使用Numpy屏蔽输入数据中的缺失值

4
我正在使用loadtxt从csv中加载数据,所有值都是浮点型,但缺失数据被编码为“?”。我试图创建一个屏蔽数组,这样我就可以在加载的数据上使用np.ma函数,在计算平均值等时会忽略缺失的数据。我已阅读了masked_array的文档,这可能非常简单,但我似乎无法弄清楚如何屏蔽数组,以便“?”可以被忽略,不影响np.ma数学函数的操作。
1个回答

3
你可以简单地使用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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接