我有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/