【问题标题】:Pandas: read_csv reading large csv file with no NaNsPandas:read_csv 读取没有 NaN 的大型 csv 文件
【发布时间】:2021-06-26 04:07:17
【问题描述】:

我有一个.csv 文件格式的大型数据集,大约 60 GB 的数据包含超过 60% 的数据在某些列和行中丢失,因为无法将这么大的文件直接读入 @ 987654322@,我只想使用pandas.read_csv特定列非空行读入jupyter notebook。 如何做到这一点?

提前致谢!!

【问题讨论】:

    标签: python python-3.x pandas dataframe


    【解决方案1】:

    在之前的帖子中关注suggestion

    pandas 文档建议您可以读取 csv 文件,仅选择您想要读取的列。

    import pandas as pd
    
    df = pd.read_csv('some_data.csv', usecols = ['col1','col2'], low_memory = True)
    

    【讨论】:

    • 谢谢!读取 60 GB 的数据怎么样。实际上重要的是忽略包含 NaN 的行并只读取非空行...
    • 没问题。所以你想要一个函数来指示列是否包含 NA 然后将其删除以进行导入?
    • 由于我目前无法确定这一点,我可以向您推荐这个post。白天我可以检查一下,但也许这已经可以帮助您找到解决方案。
    【解决方案2】:

    您可以逐块读取 CSV 文件并保留您想要的行

    iter_csv = pd.read_csv('sample.csv',, usecols = ['col1','col2'] iterator=True, chunksize=10000,error_bad_lines=False)
    data = pd.concat ([chunk.dropna(how='all') for chunk in iter_csv] )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 2016-04-26
      • 2021-09-02
      • 2020-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多