如果您一直关注 Python 的最新发展,您可能听说过 Polars,一个用于处理数据的新库。虽然 pandas 长期以来一直是首选库,但 Polars 正在掀起波澜,尤其是在处理大型数据集方面。那么,Polars 有什么大不了的呢?它和熊猫有什么不同?让我们来分解一下。
Polars 是一个免费的开源库,内置于 Rust(一种快速的现代编程语言)。它旨在帮助 Python 开发人员以更快、更高效的方式处理数据。将其视为 pandas 的替代方案,当您处理 pandas 可能难以处理的非常大的数据集时,它会表现出色。
Pandas 已经存在很多年了,很多人仍然喜欢使用它。但随着数据变得越来越大、越来越复杂,pandas 开始表现出一些弱点。 Polars 的创建者 Ritchie Vink 注意到了这些问题,并决定创造一些更快、更高效的东西。甚至 pandas 的创建者 Wes McKinney 在一篇题为 “我讨厌 pandas 的 10 件事” 的博客文章中也承认 pandas 需要一些改进,尤其是在处理大型数据集时。
这就是 Polars 的用武之地,它的设计目标是速度极快且内存高效,这是 pandas 在处理大数据时面临的两个难题。
Polars 非常快。事实上,一些基准测试表明,在执行过滤或分组数据等常见操作时,Polars 的速度比 pandas 快5-10 倍。当您处理大型数据集时,这种速度差异尤其明显。
Polars 在记忆方面要高效得多。它使用的内存比 pandas 少大约 5 到 10 倍,这意味着您可以处理更大的数据集而不会遇到内存问题。
Polars 使用称为延迟执行的东西,这意味着它不会在您编写每个操作时立即运行它。相反,它会等到您编写了一系列操作,然后立即运行它们。这有助于它优化并更快地运行。另一方面,Pandas 会立即运行每个操作,这对于大型任务来说可能会更慢。
Polars 可以同时使用多个 CPU 核心来处理数据,这使得处理大数据集的速度更快。 Pandas 大多是单线程的,这意味着它一次只能使用一个 CPU 核心,这会减慢速度,尤其是在处理大型数据集时。
Polar 速度很快有几个原因:
Rust 和 Apache Arrow 的组合使 Polars 在速度和内存使用方面比 pandas 更具优势。
虽然 Polars 非常适合大数据,但 pandas 仍然占有一席之地。 Pandas 非常适合中小型数据集,并且已经存在很长时间了,它拥有大量的功能和庞大的社区。因此,如果您不处理庞大的数据集,pandas 可能仍然是您的最佳选择。
但是,随着数据集变大,pandas 往往会使用更多内存并且速度变慢,这使得 Polars 在这些情况下成为更好的选择。
如果出现以下情况,您应该考虑使用 Polars:
北极熊和熊猫都有各自的优点。如果您正在处理中小型数据集,pandas 仍然是一个很棒的工具。但如果您正在处理大型数据集并且需要更快、更高效的内存效率,Polars 绝对值得尝试。得益于 Rust 和 Apache Arrow,其性能得到提升,使其成为数据密集型任务的绝佳选择。
随着 Python 的不断发展,Polars 可能会成为处理大数据的新的首选工具。
编码愉快? ?
以上是Polars 与 Pandas Python 数据帧的新时代?的详细内容。更多信息请关注PHP中文网其他相关文章!