python - 分块加载 csv 文件

标签 python pandas

我有data set 2.5 GB,包含数千万行

我正在尝试加载数据,例如

 %%time
 import pandas as pd
 data=pd.read_csv('C:\\Users\\mahes_000\\Desktop\\yellow.csv',iterator=True,
                  chunksize=50000)

我得到多个 chunksize 部分,并且我正在尝试执行一些操作,例如

 %%time
 data.get_chunk().head(5)
 data.get_chunk().shape
 data.get_chunk().drop(['Rate_Code'],axis=1)

对于操作,它选择任何一个 chunksize 部分并对其执行所有操作。 那么剩下的部分呢? 如何在不出现内存错误的情况下对完整数据进行操作。

最佳答案

来自参数 chunksize 的文档:

Return TextFileReader object for iteration

因此,通过将对象放入循环中,您将迭代地读取 chunksize 中指定的 block 中的数据:

chunksize = 5e4
for chunk in pd.read_csv(filename, chunksize=chunksize):
    #print(chunk.head(5))
    #print(chunk.shape())

关于python - 分块加载 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53513248/

相关文章:

python - Pandas :在数据框的所有列中找到最大范围

python - 按产品 pandas 计算连续天数

python - 在 Python 中添加两个列联表

python - 快速搜索高斯核中最大值的坐标

python - 加入两个长度不同的列表,重复最短的

python - 在被导入模块禁用后,在 Python 中启用所有警告

python - pandas 中添加列的一些计算

python - Pandas - 遍历列表/字典进行计算

Python pandas - 按行选择

python - Tkinter 标签 : How do I know that the text is too long for it?