Modin:一行代码让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,可以设置

近期文章

精选课程 | Python数据分析实战(学术)

2020年B站跨年晚会弹幕内容分析

综述:文本分析在市场营销研究中的应用

Lazy Prices公司年报内容变动碰上股价偷懒

使用pandas做数据可视化

用statsmodels库做计量分析

YelpDaset: 酒店管理类数据集10+G

NRC词语情绪词典和词语色彩词典

Loughran&McDonald金融文本情感分析库

股评师分析报告文本情感分析预测股价

使用分析师报告中含有的情感信息预测上市公司股价变动

【公开视频课】Python语法快速入门

【公开视频课】Python爬虫快速入门

一行pandas代码生成哑变量

使用Python读取图片中的文本数据

代码不到40行的超燃动态排序图

jupyter notebook代码获取方式,公众号后台回复关键词“ 20200114 ”