PORARS for PANDAS用户:燃烧的快速数据框架替代

学习如何通过实际示例,并排的代码比较以及解锁现有数据工作流程绩效改进的策略,从熊猫迁移到极点。

来源:KDnuggets
作者的图像| chatgpt

简介

如果您曾经看过大熊猫在大型的CSV文件中挣扎或等待几分钟才能完成一个集体操作,那么您会知道在多核世界中单线读取数据处理的挫败感。

Polars改变了游戏。它与自动并行化的生锈建立,可提供性能改进,同时维护您已经知道的数据帧API。最好的部分?迁移不需要从头开始重新学习数据科学。

本指南假定您已经对大熊猫数据范围和常见数据操纵任务感到满意。我们的示例专注于语法翻译,向您展示了熟悉的熊猫模式映射到Polars表达式的映射,而不是完整的教程。如果您是基于数据框架的数据分析的新手,请考虑从我们的全面的Polars介绍进行设置指导和完整示例开始。

综合性杆子简介

对于有经验的熊猫用户准备进行跳跃,本指南为过渡提供了实用的路线图 - 从简单的置换式替代品到可以立即使用的高级管道优化,可以改变您的整个工作流程。

绩效现实

潜入语法之前,让我们看一下具体数字。我运行了全面的基准测试,以使用581,012行数据集比较通用数据操作的大熊猫和极点。这是结果:

操作潘达(秒)波拉斯(秒)速度改善0.07410.01834.05xaggregation0.18630.008630.008322.32xgroupby0.08730.08730.01068.23xSorting0.20270.06563.09xfeate.09xfeature Eromenter Eromenter Eromenering Eromenering0.055555155555555555555555555555555555555555555555555555555550即可
操作潘达(秒)PORARS(秒)速度提高 操作 pandas(秒) PORARS(秒) 速度改善 Feltering0.07410.01834.05x 过滤 0.0741 0.0183 4.05x 聚合0.18630.008322.32x 聚合 0.1863 0.0083 22.32x groupby0.08730.01068.23x groupby 0.0873 0.0106 8.23X sorting0.20270.06563.09x 排序 0.2027 0.0656 3.09x 功能工程0.51540.09195.61x 功能工程 0.5154 0.0919 5.61x 详细的基准实验 df.filter()