Polars支持两种操作模式: lazy
和 eager
, 之前的示例都使用了 eager
, 查询会立即执行
在Lazy模式中, 查询仅用来收集, 将执行推迟到最后执行
eager
模式的每个步骤都会立即执行, 返回中间结果lazy
模式会收集所有查询步骤, 查询优化器可以执行各种优化, 会显著降低内存和CPU的负载, 从而允许在内存中容纳更大的数据集eager
实际上实在后台调用lazy
并立即收集结果lazy
模式是首选的, 除非对中间结果感兴趣, 或者在做探索性工作使用lazy
api时可以使用函数explain要求Polars
创建查询计划的描述, 该描述将在收集结果后执行.
lazy
模式lazy
模式取决于数据集大小和查询eager
模式可能会更快, 因为生成查询计划需要时间可以使用lazy()
方法将DataFrame转换为LazyDataFrame.
最后使用collect()
收集所有查询步骤并返回结果