2014-05-08 50 views
3

我正在使用loadtxt從csv加載數據,其中所有值都是浮點數,但缺少數據的編碼爲字符「?」。缺少值的Numpy Mask輸入數據

我正在嘗試創建一個被屏蔽的數組,這樣我就可以在加載的數據上使用np.ma函數,其中缺少的數據將被忽略用於平均值等目的。我已閱讀masked_array文檔以及這可能是非常微不足道的,但我似乎無法弄清楚如何掩蓋數組,以便?爲np.ma數學函數的目的被忽略。

回答

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