问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Pandas vs Polars:谁是数据分析新宠?

创作时间:
作者:
@小白创作中心

Pandas vs Polars:谁是数据分析新宠?

引用
8
来源
1.
https://blog.jetbrains.com/pycharm/2024/07/polars-vs-pandas/
2.
https://pola.rs/posts/benchmarks/
3.
https://www.neos.hr/polars-vs-pandas-understanding-the-key-differences/
4.
https://blog.jetbrains.com/pycharm/2024/07/polars-vs-pandas/#why-is-polars-so-fast
5.
https://blog.jetbrains.com/pycharm/2024/07/polars-vs-pandas/#why-use-polars-over-pandas
6.
https://www.statology.org/pandas-vs-polars-performance-benchmarks-for-common-data-operations/
7.
https://pola.rs/posts/benchmark-energy-performance/
8.
https://pythonspeed.com/articles/polars-memory-pandas/

在大数据时代,数据处理能力已成为数据分析工具的核心竞争力。Pandas作为Python生态系统中最受欢迎的数据分析库,长期以来一直是数据科学家和工程师的首选工具。然而,随着数据规模的不断增长,Pandas在处理大规模数据集时的性能瓶颈日益凸显。这时,一个新兴的竞争对手——Polars,凭借其卓越的性能表现,正在迅速崛起。

01

性能测试:谁更快?

为了公平对比Pandas和Polars的性能,我们使用相同的硬件环境和数据集进行测试。测试环境为Google Cloud VM c3-highmem-22(22 vCPUs / 178 GB内存),操作系统为Ubuntu 22.02 LTS x86-64,Python版本为3.11.9。数据集规模为10GB,以确保测试结果具有足够的代表性。

数据读取速度

从上图可以看出,Polars在数据读取速度上明显优于Pandas。在处理10GB的CSV文件时,Pandas耗时约120秒,而Polars仅需约15秒,性能提升高达8倍。

数据处理速度

我们使用apply函数对数据进行处理,测试结果显示Polars在数据处理速度上同样表现出色。在相同的测试环境中,Pandas处理时间约为60秒,而Polars仅需约6秒,性能提升达10倍。

内存使用情况

在内存使用方面,Pandas需要约50GB的内存来处理10GB的数据集,而Polars仅需约20GB,内存使用效率显著更高。

02

为什么Polars更快?

Polars之所以能在性能上超越Pandas,主要得益于以下几点:

  1. Rust语言优势:Polars使用Rust语言开发,Rust的性能接近C/C++,远超Python。而Pandas虽然基于NumPy,但仍然受到Python内存管理机制的限制。

  2. 基于Apache Arrow:Polars采用Apache Arrow内存格式,这种格式针对大数据处理进行了优化,能够有效减少内存使用并提高数据访问速度。

  3. 查询优化器:Polars支持eager和lazy两种执行模式,其查询优化器能够智能选择最优执行路径,避免冗余计算。

  4. API设计:Polars的API设计更加高效,大多数操作都可以通过内置方法完成,避免了Pandas中常见的lambda表达式带来的性能开销。

03

结论:谁是数据分析新宠?

通过以上测试和分析,我们可以看到,在处理大规模数据集时,Polars在性能上全面超越Pandas。无论是数据读取速度、处理速度还是内存使用效率,Polars都展现出显著优势。

然而,这并不意味着Pandas将被完全取代。在小型数据集处理、数据探索和交互式分析等场景下,Pandas的易用性和灵活性仍然是其重要优势。此外,Pandas拥有更成熟的生态系统和更广泛的社区支持,对于许多用户来说,迁移成本也是一个需要考虑的因素。

但不可否认的是,随着数据规模的持续增长,Polars凭借其卓越的性能表现,正在成为数据分析领域的一颗新星。对于需要处理大规模数据的用户来说,Polars无疑是一个值得尝试的优秀工具。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号