写了一个优化 pandas 内存的工具

2020-05-04 21:11:44 +08:00
 YUX

pandas 爆内存主要是两个原因

针对这两点都做了优化, int 、float 转化为合适都类型, object 如果重复项太多就转化为 category

用法很简单

import fast_csv as fc
data = fc.read_csv('$PATH/$FILE.csv')

一般来讲 (我最近用的几个 kaggle 的 data),能减少 50%内存,有时能减少 90%以上. 没有什么副作用,和一般直接用pandas读 csv 是一样的,都是 pandas.DataFrame

开源在 https://github.com/YUX-IO/fast_csv

安装 pip install fast_csv

2593 次点击
所在节点    分享创造
4 条回复
lithiumii
2020-05-04 21:18:20 +08:00
kaggle
nzd
2020-05-04 21:44:49 +08:00
这个有点厉害,学习了
dlsflh
2020-05-04 22:03:01 +08:00
等我上班后就实测对大量的工业传感器数据的优化效果。
ipwx
2020-05-04 22:17:25 +08:00
。。。你需要的是在调用 pd.read_csv 的时候手动指定 dtype={...},然后 engine='C'

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/668523

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX