打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
比pandas更快的库
userphoto

2022.10.08 四川

关注
excelperfect

标签:PythonPandas
是否发现pandas库在处理大量数据时速度较慢,并且希望程序运行得更快?当然,有一些使用pandas的最佳实践(如矢量化等)。本文讨论的内容将代码运行得更快,甚至超过采用最佳实践。
我们需要使用其他数据处理库,以使程序运行得更快。不用担心,这些库都具有与pandas类似的语法,因此学习如何使用也非常容易。
pandas为什么慢
由于底层的numpy数组数据结构和C代码,pandas库已经相当快了。然而,默认情况下,所有Python代码都在单个CPU线程上运行,这使得pandas运行慢。当使用默认设置运行pandas代码时,大多数CPU内核都不做任何事情,只有少数在工作(大体上只有9%CPU在工作)。
使代码运行更快的一种方法是同时使用多个CPU核,即多处理。
三个比pandas更快的数据分析库
简要介绍以下三个能够快速运行的Python库:
1.polars:一个使用Apache Arrow列格式内存模型在Rust编程语言中实现的快速数据框架库。
2.datatable:与Rdata.table库密切相关。
3.modin:使用所有可用的CPU核来运行pandas,基本上是pandas的替代品。
安装库
使用pip命令在终端安装:
pip install polars
pip install datatable
pip install modin[all]
测试情况
使用pandas作为基准性能指标,与三个库进行比较。
100万行数据集和1000万行数据集中执行的测试中看到了类似的结果。
1.polars库在所有测试中都获胜,但apply函数除外,这里modin更快。
2.modinapplyconcat函数中非常快,但在其他函数中非常慢。值得注意的是,在许多测试(mergefiltergroupby等)中,modinPanda慢。
3.Datatable在进行简单的列计算时并不差,而且速度非常快。
从对更大数据集的测试中,还可以看到,在大多数测试中,polars的性能始终优于所有其他库。其中一些亮点包括:
1.读取csv文件时比pandas快约17倍。
2.合并两个数据框架时,比pandas快约10倍。
3.在其他测试中,比pandas2-3倍。
虽然没有测试这四个库的每个方面,但所测试的操作在数据分析工作中非常常见。结果表明,用polars替换pandas可能会将Python程序的速度提高至少2-3倍。
注:本文学习整理自pythoninoffice.com,供有兴趣的朋友学习参考。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
速度起飞!替代 pandas 的 8 个神库
2019 年度 Python 类库 Top 10
2019 年 10 大顶级 Python 支持库
一款Python高性能数据处理工具
python如何读写excel表格?有哪些比较简单的方法可供参考?
推荐9个鲜为人知的Python第三方库
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服