Python/Pandas如何处理百亿行,数十列的数据

资料来自知乎:https://www.zhihu.com/question/50477642

记录四种方式:
1. 依然pandas。数据存储依赖于HDF5是没错的,但也只是极度节省了IO时间,计算的话,pandas官方给出了一些可行方案。work flows using pandas

可用的策略前面基本也已提到,分块的合并、计算,如果需要机器学习,优先选择那些支持增量学习的算法和类库。

参考使用sklearn进行增量学习 - CSDN博客

2. 使用Dask - dask 0.15.0+9.g0531266 documentation

很好的copy了pandas的api,可以用很小的成本过度,你将获得强大的out-core计算能力,内存不再是你的局限,硬盘才是。这货基本上可以当个穷逼版的spark使用(官方文档也这么说的)。

3. 回归数据库,PostgreSql是高性能计算的好选择。

4. 怂恿公司购买云服务,阿里云强行安利么么哒。

阿里云机器学习-阿里云

==========================================
Pandas对内存利用率不高,特别Dask,可以研究下。
但是学习Dask可能需要一些学习成本,也可能PostgreSql是比较好的选择。熟悉程序的程序员都会写sql。

你可能感兴趣的:(Python/Pandas如何处理百亿行,数十列的数据)