2013-11-15 28 views
2

如何加載csv。當至少在單元格爲空時將文件放入數組中跳過行? 我csv文件是大(超過1000行和14個colums):在genfromtxt中跳過缺失值的行

1;4;3 
;1;3 
;;6 
3;4;7 

我想要跳過寫入行2和3的原因,他們已缺失值(x; 1; 3)(X; X; 6) 全部完成應寫入陣列中的其他行...

這些行(每行中的「全」的信息應該被寫入一個矩陣(陣列)

M = np.genfromtxt(file.csv, delimiter=";",dtype=float) 

回答

1

這可能會更容易閱讀所有行,然後只保留那些沒有丟失d的行ATA。

>>> M = np.genfromtxt("miss.csv", delimiter=";", dtype=float) 
>>> M 
array([[ 1., 4., 3.], 
     [ nan, 1., 3.], 
     [ nan, nan, 6.], 
     [ 3., 4., 7.]]) 
>>> M = M[~np.isnan(M).any(axis=1)] 
>>> M 
array([[ 1., 4., 3.], 
     [ 3., 4., 7.]]) 

(假設你不會有nan如要保留miss.csv的值。如果你這樣做,這將會是一個有點棘手。)

+0

我得到:回溯(最近調用最後):文件「」,第1行,在 TypeError:未實現此類型 - user2956831剛剛編輯 – Hiatus