如何加载 csv.txt 文件?文件存储到数组中,当至少一个单元格为空时跳过行? 我的 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)
最佳答案
读取所有行然后仅保留不丢失数据的行可能会更容易。
>>> 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.]])
(这假设您在 miss.csv
中没有想要保留的 nan
作为值。如果您这样做,则会有点麻烦比较棘手。)
关于python - 跳过 genfromtxt 中缺少值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20007017/