前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >比pandas更快的库

比pandas更快的库

作者头像
fanjy
发布2022-11-16 14:01:17
1.4K0
发布2022-11-16 14:01:17
举报
文章被收录于专栏:完美Excel完美Excel

标签:Python,Pandas

是否发现pandas库在处理大量数据时速度较慢,并且希望程序运行得更快?当然,有一些使用pandas的最佳实践(如矢量化等)。本文讨论的内容将代码运行得更快,甚至超过采用最佳实践。

我们需要使用其他数据处理库,以使程序运行得更快。不用担心,这些库都具有与pandas类似的语法,因此学习如何使用也非常容易。

pandas为什么慢

由于底层的numpy数组数据结构和C代码,pandas库已经相当快了。然而,默认情况下,所有Python代码都在单个CPU线程上运行,这使得pandas运行慢。当使用默认设置运行pandas代码时,大多数CPU内核都不做任何事情,只有少数在工作(大体上只有9%的CPU在工作)。

使代码运行更快的一种方法是同时使用多个CPU核,即多处理。

三个比pandas更快的数据分析库

简要介绍以下三个能够快速运行的Python库:

1.polars:一个使用Apache Arrow列格式内存模型在Rust编程语言中实现的快速数据框架库。

2.datatable:与R的data.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.modin在apply和concat函数中非常快,但在其他函数中非常慢。值得注意的是,在许多测试(merge、filter、groupby等)中,modin比Panda慢。

3.Datatable在进行简单的列计算时并不差,而且速度非常快。

从对更大数据集的测试中,还可以看到,在大多数测试中,polars的性能始终优于所有其他库。其中一些亮点包括:

1.读取csv文件时比pandas快约17倍。

2.合并两个数据框架时,比pandas快约10倍。

3.在其他测试中,比pandas快2-3倍。

虽然没有测试这四个库的每个方面,但所测试的操作在数据分析工作中非常常见。结果表明,用polars替换pandas可能会将Python程序的速度提高至少2-3倍。

注:本文学习整理自pythoninoffice.com,供有兴趣的朋友学习参考。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档