python - 分块加载csv文件
问题描述
我有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
:
返回 TextFileReader 对象进行迭代
因此,通过将对象置于循环中,您将迭代地读取以下指定的块中的数据chunksize
:
chunksize = 5e4
for chunk in pd.read_csv(filename, chunksize=chunksize):
#print(chunk.head(5))
#print(chunk.shape())
推荐阅读
- node.js - 对于每个 MongoDB 文档,添加一个递增的新变量
- memory-management - Linux内核中的页面错误
- java - 生成泛型对象 Java
- amazon-web-services - AWS云形成胶表可重用模板
- ios - 在 iOS 14 小部件中获取当前位置
- docker - 为 docker pull 动态设置代理
- javascript - 在 Highchart Angular 的工具提示中显示图表
- python - 将 postgresql 数据库与 Django 一起用于 heroku
- javascript - 将名称和金额推送到 javascript 对象
- python - Python asyncio 重启协程