用途:Polars 是用于 Python(及 Rust)的高性能 DataFrame 库,本技能提供其使用指南,适用于数据操作、从 pandas 迁移、读取 Parquet 文件以及优化数据管道性能。
主要能力:基于 Rust 编写,利用 SIMD 与并行优化;支持惰性求值(先构建查询计划再优化执行)与即时执行;提供表达式 API;采用列式格式并支持流式处理超出内存的数据;核心无 NumPy/Pandas 依赖。覆盖 I/O(CSV、Parquet、JSON、数据库)、聚合与分组、窗口函数、连接与拼接、透视/逆透视、字符串/日期时间/分类操作、pandas/NumPy/PyArrow/DuckDB 互操作及性能优化。
版本说明:面向 Polars 1.x(测试于 1.37.1)。0.x 起的变化包括 apply 改名 map_elements、groupby 改名 group_by、melt 改名 unpivot、pl.Utf8 现为 pl.String(Utf8 仍作别名)。
使用方式:技能按主题组织参考文件,如 quickstart.md、dataframes-series.md、io-data.md、expressions.md、aggregations-grouping.md、joins-concat.md、strings-datetime-categorical.md、performance.md、interop.md、gotchas.md,可按决策树查找。基本导入为 import polars as pl 与 import polars.selectors as cs。惰性读取示例:lf = pl.scan_csv("data.csv"),再 lf.collect() 执行。常用操作包括 df.select、df.filter、df.with_columns、df.group_by(...).agg(...)、df.join、df.sort 等。
研究工作流限制:在数据研究管道中,Polars 转换通过脚本文件执行而非交互式,以保证可审计与可复现;需遵循文件优先执行协议,将代码写入 scripts/stage{N}{type}/{step}{task-name}.py 并通过 Bash 执行,验证结果自动嵌入脚本注释,失败时创建版本化副本。
引用:作为主要分析工具时,可在报告软件与工具参考中引用 Vink, R. et al. Polars: Blazingly fast DataFrames [Computer software]. https://pola.rs/。仅用于简单文件 I/O 时不必引用。