python – Pandas Chunksize迭代器

python – Pandas Chunksize迭代器,第1张

概述我有一个1GB,70M的行文件,无论何时加载它都会耗尽内存.我已经阅读了1000行,并且能够制作我想要它的原型. 我的问题是不知道如何获取接下来的1000行并应用我的逻辑,然后继续运行直到我完成最后一行的文件.我已经阅读了关于chunksizing的内容,虽然我无法弄清楚如何继续chunksizing的迭代. 理想情况下,它会像这样流动: 1)读入前1000行 2)根据标准过滤数据 3)写入csv 我有一个1GB,70M的行文件,无论何时加载它都会耗尽内存.我已经阅读了1000行,并且能够制作我想要它的原型.

我的问题是不知道如何获取接下来的1000行并应用我的逻辑,然后继续运行直到我完成最后一行的文件.我已经阅读了关于chunksizing的内容,虽然我无法弄清楚如何继续chunksizing的迭代.

理想情况下,它会像这样流动:

1)读入前1000行
2)根据标准过滤数据
3)写入csv
4)重复直到不再有行

这是我到目前为止所拥有的:

import pandas as pddata=pd.read_table('datafile.txt',sep='\t',chunksize=1000,iterator=True)data=data[data['visits']>10]with open('data.csv','a') as f:    data.to_csv(f,sep = ',',index=False,header=False)
解决方法 您的逻辑存在一些问题,我们希望循环数据中的每个块,而不是数据本身.

‘chunksize’参数为我们提供了一个可以迭代的’textreader对象’.

import pandas as pddata=pd.read_table('datafile.txt',chunksize=1000)for chunk in data:    chunk = chunk[chunk['visits']>10]    chunk.to_csv('data.csv',index = False,header = False)

你需要考虑如何处理你的标题!

总结

以上是内存溢出为你收集整理的python – Pandas Chunksize迭代器全部内容,希望文章能够帮你解决python – Pandas Chunksize迭代器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1194059.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存