用途:Polars 是面向 Python 和 Rust 的快内存 DataFrame 库,基于 Apache Arrow。适合数据仍能放入内存、但 pandas 速度不足的场景,例如 ETL、分析、数据转换流程,以及需要惰性求值和并行处理的表操作。
主要能力:表达式 API(pl.col 引用列,可在 select、with_columns、filter、group_by 等上下文组合与复用);惰性求值(scan_csv 等构建查询计划,collect 时执行优化),支持谓词下推、投影下推和并行执行;常用操作包括 select、filter、with_columns、group_by 聚合,以及用 over() 实现窗口函数;数据读写覆盖 CSV、Parquet、JSON、Excel、数据库连接器、云存储(S3、Azure、GCS)和 BigQuery;转换包括 join、concat(vertical/horizontal/diagonal)、pivot 和 unpivot。
使用方式:安装命令为 uv pip install polars。基本用法是导入 import polars as pl,用 pl.DataFrame 创建数据,再调用 select、filter、with_columns 等方法。大文件优先使用惰性接口,例如 lf = pl.scan_csv("file.csv"),经 filter、select 后用 collect() 执行;性能敏感场景可考虑 lf.collect(streaming=True)。
从 pandas 迁移的差异:Polars 没有索引,仅使用整数位置;类型严格,不做静默类型转换;默认为并行执行;惰性求值通过 LazyFrame 提供。常见映射如 df["col"] 对应 df.select("col"),df.assign 对应 df.with_columns,df.groupby().agg 对应 df.group_by().agg,transform 对应 with_columns 加 over。
限制与注意:仅适用于能装入内存的数据集;应只用于任务明确符合上述范围时,输出不能替代针对具体环境的验证、测试或专家评审;若缺少必要输入、权限、安全边界或成功标准,应先停止并请求澄清。官方文档、完整参考文件和更多细节暂未提供。