栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pandas分批读取CSV并分批处理数据

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pandas分批读取CSV并分批处理数据

算法工程师要面对的一大主要矛盾:不够用的服务器内存和巨大的训练集数据量之间的矛盾。

如果使用pandas处理CSV数据,会先把整个CSV加载到内存之后再处理,所以如果你的CSV文件巨大(其实也不一定非常大,我的数据集只有4、50个G,可惜当时服务器内存只有60多个G了),就要想其他方法了。

我之前都是把CSV文件手动切分成10个小文件,再逐个处理。

现在觉着这方法太傻了啊。

其实pandas 读取CSV文件的函数 read_csv() 中自带两个参数就可以解决:

nrows=
skiprows=

其中前者控制本次读取多少行,后者用于控制跳过多少行然后从其下一行开始读。

这样每次就只读取 nrows 行数据加载到内存,先处理这部分数据,处理完之后再去加载下一批。

备注:

如果最后一个分组不够 nrows 的参数值也不会报错,会把剩余部分当做一个分组。比如CSV文件中有5行数据,每次读两行数据,即 nrows=2,最后只剩下一行,就把这一行当做一组。

以上,问题解决~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/923394.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号