python – Pandas Chunksize迭代器
发布时间:2020-12-20 12:04:09 所属栏目:Python 来源:网络整理
导读:我有一个1GB,70M的行文件,无论何时加载它都会耗尽内存.我已经阅读了1000行,并且能够制作我想要它的原型. 我的问题是不知道如何获取接下来的1000行并应用我的逻辑,然后继续运行直到我完成最后一行的文件.我已经阅读了关于chunksizing的内容,虽然我无法弄清楚
我有一个1GB,70M的行文件,无论何时加载它都会耗尽内存.我已经阅读了1000行,并且能够制作我想要它的原型.
我的问题是不知道如何获取接下来的1000行并应用我的逻辑,然后继续运行直到我完成最后一行的文件.我已经阅读了关于chunksizing的内容,虽然我无法弄清楚如何继续chunksizing的迭代. 理想情况下,它会像这样流动: 1)读入前1000行 这是我到目前为止所拥有的: import pandas as pd data=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 pd data=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) 你需要考虑如何处理你的标题! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |