polars
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePolars
Polars
Polars is the fast successor to Pandas. Written in Rust, query-optimized, and parallelized. v1.0 (2024) signaled production readiness.
Polars 是 Pandas 的高性能替代方案。它由 Rust 编写,经过查询优化且支持并行处理。2024年发布的v1.0版本标志着其已具备生产环境可用性。
When to Use
适用场景
- Performance: 10-100x faster than Pandas on large data.
- Lazy Evaluation: Define a query plan and execute it efficiently ().
.collect() - Streaming: Process datasets larger than RAM.
- 性能表现:在处理大型数据时,速度比 Pandas 快10-100倍。
- 延迟计算(Lazy Evaluation):先定义查询计划,再高效执行(通过方法)。
.collect() - 流式处理:可处理大于内存容量的数据集。
Core Concepts
核心概念
Lazy API (.lazy()
)
.lazy()延迟API(.lazy()
)
.lazy()Builds a query plan. Polars optimizes it (predicate pushdown) before reducing it.
用于构建查询计划。Polars会在执行查询前对其进行优化(如谓词下推)。
Expressions
表达式(Expressions)
pl.col("a").sum()pl.col("a").sum()Compatibility
兼容性
Can convert to/from Pandas/PyArrow zero-copy.
可与Pandas/PyArrow进行零拷贝互转。
Best Practices (2025)
2025年最佳实践
Do:
- Use Lazy Mode: .
df.lazy().filter(...).collect() - Use : Don't load the whole file; scan it.
scan_parquet - Use GPU engine: Polars has experimental NVIDIA RAPIDS support.
Don't:
- Don't treat it like Pandas: The API is different (doesn't exist; use expressions).
axis=1
建议做法:
- 使用延迟模式:。
df.lazy().filter(...).collect() - 使用:不要加载整个文件,而是采用扫描方式。
scan_parquet - 使用GPU引擎:Polars 支持实验性的 NVIDIA RAPIDS 加速。
不建议做法:
- 不要将其当作Pandas使用:两者API不同(不存在参数;请使用表达式)。
axis=1