内容简介:但pandas有一个弱点:不适用于大规模数据。
寒假何不学python | Python数据分析实战(学术)
p andas库是 python 中最有名的数据分析库,因为dataframe这种易用强大的数据类型,pandas成为数据科学必备套件。 pandas可以和很多包联合使用,比如与机器学习sklearn、统计分析statsmodels、可视化searborn&matplotlib等等。 下图是近几年python包的使用量趋势,pandas一骑绝尘
但pandas有一个弱点:不适用于大规模数据。
pandas默认只调用电脑单个的CPU进行数据读取和运算,但是当前的电脑大多是4核,甚至8核,而如果常规使用pandas意味着我们没有充分使用电脑的性能。
Modin是为加速pandas而开发的包,可以自动按照电脑CPU数调整运行的核数。
安装
modin使用
modin的用法与pandas相差无几,只是在导入的时候略有不同。
现在这个pd就拥有与pandas一样的功能
读取速度
说了这么多了,我们先看看pandas导入test.csv文件(107M)的速度。
pandas导入107M的test.csv耗时1.78s
modin只用了0.75s,加快了2.1倍。
运算速度
pd.concat是用来连接多个dataframe的操作函数,当我们的df很大时,pd.concat就会变慢。我们在这里实验一下pandas和modin各自的速度
同样的pd.concat操作,modin比pandas快了14倍。我又做了几个对比,制作成表格
实战技巧
modin目前仍然正在发展中,并不是所有的pandas的函数都能加速。如果加速遇到报错,说明这个操作modin不支持。
默认modin会调用电脑全部的cpu,如果不想全部调用,可以使用ray来限制cpu使用数。
如果待操作的数据文件远大于电脑内存RAM,可以设置
近期文章
jupyter notebook代码获取方式,公众号后台回复关键词“ 20200114 ”
以上所述就是小编给大家介绍的《Modin:一行代码让pandas加速数十倍》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
编程的修炼(中英双语)
[荷]Edsger W. Dijkstra / 裘宗燕 / 电子工业出版社 / 2013-7 / 79.00元
本书是图灵奖获得者Edsger W. Dijkstra在编程领域里的经典著作中的经典。作者基于其敏锐的洞察力和长期的实际编程经验,对基本顺序程序的描述和开发中的许多关键问题做了独到的总结和开发。书中讨论了顺序程序的本质特征、程序描述和对程序行为(正确性)的推理,并通过一系列从简单到复杂的程序的思考和开发范例,阐释了基于严格的逻辑推理开发正确可靠程序的过程。 本书写于20世纪70年代中后期,但......一起来看看 《编程的修炼(中英双语)》 这本书的介绍吧!