【问题标题】:Skip Rows with missing values in genfromtxt跳过 genfromtxt 中缺失值的行
【发布时间】:2013-11-29 04:43:15
【问题描述】:

如何加载 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)

【问题讨论】:

    标签: python csv file-io numpy genfromtxt


    【解决方案1】:

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

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

    【讨论】:

    • 我得到:回溯(最近一次调用最后一次):文件“”,第 1 行,在 类型错误:未针对此类型实现 - user2956831 刚刚编辑
    猜你喜欢
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    • 2021-03-06
    • 2014-10-09
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    • 2011-04-15
    相关资源
    最近更新 更多