Python 分块加载csv文件

Python 分块加载csv文件,python,pandas,Python,Pandas,我有2.5 GB的内存,其中包含数千万行 我正在加载数据,比如 %%time import pandas as pd data=pd.read_csv('C:\\Users\\mahes_000\\Desktop\\yellow.csv',iterator=True, chunksize=50000) 我得到了很多块大小的零件,我试着做一些操作,比如 %%time data.get_chunk().head(5) data.get_chunk()

我有2.5 GB的内存,其中包含数千万行

我正在加载数据,比如

 %%time
 import pandas as pd
 data=pd.read_csv('C:\\Users\\mahes_000\\Desktop\\yellow.csv',iterator=True,
                  chunksize=50000)
我得到了很多块大小的零件,我试着做一些操作,比如

 %%time
 data.get_chunk().head(5)
 data.get_chunk().shape
 data.get_chunk().drop(['Rate_Code'],axis=1)
对于操作,它选择任何一个chunksize部件并对其执行所有操作。 那么剩下的部分呢?
如何在没有内存错误的情况下对完整数据执行操作。

来自参数文档:

返回用于迭代的TextFileReader对象

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

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

您需要循环遍历迭代器<代码>为数据中的i执行操作。您可以在chunk上添加一些进程,以便我获得引用。嗯@Mahesh,
chunk
是一个数据帧,因此您可以直接在其上执行您想到的任何进程。