当前位置: 首页 > news >正文

Polars基本操作-Lazy API

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

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

在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()这个不算。

相关文章:

  • 在使用tcp长连接时,是否还需要再引入重发机制?
  • node使用nodemonjs自动启动项目
  • 第22课 类和对象
  • 浅谈数字孪生的应用与发展
  • 苹果账号被禁用怎么办?
  • 2023十大编程语言及未来展望
  • 大模型LLM的微调技术:LoRA
  • 软件测试面试题——如果保证测试用例覆盖率
  • cpp_07_类型转换构造_析构函数_深拷贝_静态成员
  • lodash源码分析每日一练 - 数组 - intersection / intersectionBy / intersectionWith
  • mp4视频转rosbag文件(图片压缩格式)
  • Flink导入StarRocks
  • 【音视频 ffmpeg 学习】 跑示例程序 持续更新中
  • Python圣诞树代码
  • 记录一下imx6ull linux 5.10.9多点电容触摸屏驱动报错问题解决方法
  • HTML---JavaScript基础
  • Go语言学习第二天
  • 云计算IaaS、PaaS和SaaS之
  • nodejs微信小程序+python+PHP的冷链物流配送系统-计算机毕业设计推荐
  • 查看ios app运行日志
  • 音著协宣布胜诉,虎牙公司终审被判侵权
  • 一季度支持科技创新和制造业发展减税降费及退税4241亿元
  • 完善劳动关系协商协调机制,《共同保障劳动者合法权益工作指引》发布
  • 国家统计局:1-4月份,全国固定资产投资同比增长4.0%
  • 香港今年新股集资额已超600亿港元,暂居全球首位
  • 体育文化赋能国际交流,上海黄浦举办国际友人城市定向赛