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
1
lithiumii 2020-05-04 21:18:20 +08:00 via Android
kaggle
|
2
nzd 2020-05-04 21:44:49 +08:00
这个有点厉害,学习了
|
3
dlsflh 2020-05-04 22:03:01 +08:00 via Android 1
等我上班后就实测对大量的工业传感器数据的优化效果。
|
4
ipwx 2020-05-04 22:17:25 +08:00 1
。。。你需要的是在调用 pd.read_csv 的时候手动指定 dtype={...},然后 engine='C'
|