2

我怎样才能加载一个csv。当至少一个单元格为空时,将文件放入一个跳过行的数组中?我的 csv 文件很大(超过 1000 行和 14 列):

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)
4

1 回答 1

3

读取所有行可能会更容易,然后只保留那些不丢失数据的行。

>>> 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。如果这样做,那就有点棘手了。)

于 2013-11-15T17:43:28.220 回答