HeadlinesBriefing favicon HeadlinesBriefing.com

Pandas 应该灭绝:Python 数据库的替代方案

Hacker News •
×

你没看错,Pandas 应该灭绝。不是指那些用于国际外交的可爱毛绒动物,而是指 Python 数据帧库。为什么?因为 Pandas 的低效率迫使你在工作负载尚不足以证明额外复杂性合理之前,就不得不采用分布式查询系统。我认为大多数工作负载永远不会证明这些系统的合理性,它们只是被营销得很好的“银弹”。

要理解我在说什么,我们首先必须了解 Pandas 的典型采用路径。从左到右追踪这条路径,你也会看到数据分析工具的典型采用路径,以及 Pandas 用户在数据量超过一定规模后遭遇的“悬崖”。人们通常从 Excel 起步,在 GB 级别左右毕业到 Pandas。Pandas 在 10 多 GB 的范围内服务良好,随后他们开始遇到内存问题、计算缓慢,或对 Pandas 繁复的 API 感到沮丧。此时的传统答案是升级到“正规”(读作:昂贵)的工具,如 Spark、Databricks、Snowflake 或 Dask,这些是为 Big Data™ 设计的。

我提出的替代方案,如前所述,是 DuckDB 和 Polars。大体上,Polars 是一个基于 Rust 的数据帧库,使用起来感觉像 Pandas,但在几个重要方面有所不同……