大家好,Pandas是数据科学中必不可少的Python库,但其最大的缺点是对大型数据集的操作速度较慢。Polars是一种旨在更快地处理数据的Pandas替代方案。
本文将简要介绍Polars Python包,并将其与流行的数据科学库Pandas在语法和速度方面进行比较。
Polars简介
根据Polars的用户指南,其目标是“提供一个利用计算机上所有可用核心的闪电般快速的DataFrame库。”
与Polars不同,Pandas不会在计算机核心之间进行原生的并行处理。其他工具如Dask是建立在Pandas库的基础上尝试进行并行处理。相反,Polars是专为并行化而设计的,并从头开始搭建。虽然它是用Rust编写的,但Polars有一个Python包,这使得它成为Pandas的潜在替代方案。
Polars有两种不同的API:急切API和惰性API。
急切的执行方式类似于Pandas。这意味着直接运行代码,并立即返回结果。
另一方面,惰性执行是在你需要结果时才运行。由于它避免了运行不必要的代码,因此惰性执行可以比急切执行更高效。
对于惰性执行,必须使用.lazy()方法开始操作。然后可以为你想做的任何事情编写要执行的代码。最后需要运行.collect()方法来显示结果。
df.lazy()
.with_columns([(pl.col("col") * 10).alias("new_col")])
#...
.collect()
如果你不运行.collect()方法,则不会立即执行操作。相反,你将看到执行图。

文章介绍了Polars作为Pandas的替代品,强调其在并行处理和速度上的优势。Polars提供了急切和惰性两种API,且在读取、选择、过滤、创建新列和分组聚合等操作上与Pandas有类似但不同的语法。基准测试显示,Polars在处理大型数据集时速度更快,但可能需要学习新的语法。
最低0.47元/天 解锁文章
1739

被折叠的 条评论
为什么被折叠?



