Python 分块加载csv文件
我有2.5 GB的内存,其中包含数千万行 我正在加载数据,比如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()
%%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
是一个数据帧,因此您可以直接在其上执行您想到的任何进程。