Polars基本操作-Lazy API
2023-12-29 15:49:04
【本文仅表明作者粗浅理解】
如果有不同观点,那么一定是您说得对!!
在Polars中,有两种常见的操作方式:Lazy API和eager API。
先看Lazy API
import polars as pl
# 创建一个DataFrame
df = pl.DataFrame({
'col1': [1, 2, 3, 4, 5],
'col2': ['A', 'B', 'C', 'D', 'E']
})
# 使用Lazy API进行操作
lazy_result = (
df.lazy()
.filter(pl.col('col1') > 2)
.select(pl.col('col2'))
.sort(pl.col('col2'))
)
# 执行Lazy操作并显示结果
eager_result = lazy_result.collect()
print(eager_result)
首先代码里加上了 df.lazy(),调用时候要用到collect()方法才真的执行,否则只是准备了,并不做。
以下是猫哥对Lazy API个人理解:
Lazy API是一个黑盒子。程序员只需使用Lazy API构建计算计划,而不需要手动干预计划的优化和执行过程。
Polars会在执行计划时自动应用优化策略,例如基于操作之间的依赖关系进行重排、选择合适的算法和数据结构等。这些优化都是由Polars内部自动完成的,程序员无需手动编写优化代码。
与Python的垃圾处理机制类似,Lazy API隐藏了底层的优化细节,提供了简洁的接口供程序员使用。程序员只需关注计算逻辑的构建,而无需关心具体的优化实现。
因此,使用Lazy API可以让程序员更专注于业务逻辑的实现,而无需深入研究和调优底层的执行细节。同时,Polars的优化策略会尽力提高执行性能,使得程序员能够获得更高效的数据处理结果。
eager API,目前没查到相关资料,没有显式调用。貌似不明确lazy(),就是直接计算,也就是eager了。
Pandas中,没发现类似的lazy()。强行sleep()这个不算。
文章来源:https://blog.csdn.net/972301/article/details/135288951
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!