Pandas和Polars之间语法和速度比较

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

大家好,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()方法,则不会立即执行操作。相反,你将看到执行图。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python慕遥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值