详细内容或原文请订阅后点击阅览
Python 中的现代 DataFrame:Polars 和 DuckDB 实践教程
我如何学会在不减慢整个工作流程的情况下处理不断增长的数据集Python 中的现代数据框架:Polars 和 DuckDB 的实践教程首先出现在《走向数据科学》上。
来源:走向数据科学如果使用 Python 处理数据,您可能经历过等待 Pandas 操作完成几分钟的挫败感。
起初,一切似乎都很好,但随着数据集的增长和工作流程变得更加复杂,您的笔记本电脑突然感觉像是在准备起飞。
几个月前,我参与了一个分析电子商务交易的项目,其中包含超过 300 万行的数据。
这是一次非常有趣的体验,但大多数时候,我看到通常在几秒钟内运行的简单分组操作突然延长到几分钟。
那时,我意识到 Pandas 很神奇,但这还不够。
本文探讨了 Pandas 的现代替代方案,包括 Polars 和 DuckDB,并研究了它们如何简化和改进大型数据集的处理。
为了清楚起见,在我们开始之前,让我先讲一些事情。
本文并不是深入探讨 Rust 内存管理,也不是宣布 Pandas 已过时。
相反,它是一本实用的实践指南。您将看到真实的示例、个人经验以及对工作流程的可行见解,这些可以节省您的时间和理智。
为什么熊猫会感觉缓慢
当我参与电子商务项目时,我记得使用超过 2GB 的 CSV 文件,Pandas 中的每个过滤器或聚合通常需要几分钟才能完成。
在那段时间里,我会盯着屏幕,希望在代码运行时我能喝杯咖啡或狂看几集节目。
我遇到的主要痛点是速度、内存和工作流程复杂性。
我们都知道大型 CSV 文件会消耗大量 RAM,有时甚至超过我的笔记本电脑可以轻松处理的容量。最重要的是,链接多个转换还使代码更难维护且执行速度更慢。
Polars 和 DuckDB 以不同的方式应对这些挑战。
Polars 采用 Rust 构建,使用多线程执行来高效处理大型数据集。
设置您的环境
在 Python 中,导入库:
Kaggle