Polars基本操作-Lazy API

【本文仅表明作者粗浅理解】

如果有不同观点,那么一定是您说得对!!

在Polars中,有两种常见的操作方式:Lazy API和eager API。

先看Lazy API

python 复制代码
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()这个不算。

相关推荐
七夜zippoe2 分钟前
Java技术未来展望:GraalVM、Quarkus、Helidon等新趋势探讨
java·开发语言·python·quarkus·graaivm·helidon
m0_7381207212 分钟前
网络安全编程——Python编写基于UDP的主机发现工具(解码IP header)
python·网络协议·tcp/ip·安全·web安全·udp
北冥有羽Victoria16 分钟前
OpenCLI 操作网页 从0到1完整实操指南
vscode·爬虫·python·github·api·ai编程·opencli
handsomestWei18 分钟前
scikit-learn数据预处理模块
python·机器学习·scikit-learn
w_t_y_y22 分钟前
机器学习常用的python包(二)工具箱scikit-learn
python·机器学习·scikit-learn
用户83562907805132 分钟前
Python 自动拆分 Word 文档教程:按分节符与分页符处理
后端·python
陈天伟教授35 分钟前
心电心音同步分析-案例:原型设计一
开发语言·人工智能·python·语言模型·架构
我的xiaodoujiao35 分钟前
API 接口自动化测试详细图文教程学习系列9--Requests模块
python·学习·测试工具·pytest
Allen_LVyingbo38 分钟前
量子计算Dirac Notation基本教学—从零基础到读懂量子信息论文(下)
开发语言·人工智能·python·数学建模·量子计算
Dxy12393102161 小时前
Python路径算法简介
开发语言·python·算法