🐻‍❄️
Polars · Rust DataFrame

Polars 完全指南

基于 Rust 与 Apache Arrow 的高性能 DataFrame 库——多线程并行、惰性执行、查询优化、超越内存流式处理,pandas 的现代替代品

Rust 内核
多线程并行
惰性查询优化
Arrow 列式内存
大于内存流式
10-100x 相比 pandas 提速
10 核心章节
Rust 零 GIL 内核

Polars 为什么正在取代 pandas?

pandas 诞生于 2008 年,是 Python 数据分析的绝对基石,但它的架构性问题在大数据时代越发凸显:单线程执行(受 GIL 掣肘,用不满多核 CPU)、基于 NumPy 的行式/混合内存布局(缓存不友好、字符串与缺失值处理低效)、Eager 立即求值(每步都物化中间结果,无法跨操作优化)、API 冗余混乱[].loc.ilocapply 语义各异,容易踩 SettingWithCopyWarning)。

Polars 用 Rust 从零重写了 DataFrame 引擎:底层是 Apache Arrow 列式内存格式(缓存友好、SIMD 向量化、零拷贝互操作),天然多线程并行(不受 GIL 限制),提供统一的表达式(Expression)API,并首创 Lazy 惰性执行 + 查询优化器——先构建查询计划、做谓词下推/投影下推等优化,再一次性执行。配合 streaming 流式引擎,还能处理大于内存的数据集。

本教程 10 章从零讲到精通:安装与核心原理、Series/DataFrame 数据结构、表达式 API、过滤排序选择、groupby 聚合与窗口、join 与拼接、Lazy API 与查询优化、时间序列、字符串/列表/结构体、生态集成与性能实战。

核心能力

六大特性让 Polars 成为 2026 年的高性能数据处理首选

Rust 多线程内核

核心用 Rust 编写,天然并行、无 GIL 束缚,充分吃满多核 CPU。

🏹

Apache Arrow 列式内存

列式存储 + SIMD 向量化,缓存友好,与 Arrow 生态零拷贝互操作。

🧠

惰性执行 + 查询优化

LazyFrame 先构建计划,谓词下推/投影下推/公共子表达式消除后再执行。

🌊

大于内存流式处理

streaming 引擎分块执行,能处理超出物理内存的数据集。

🎯

统一表达式 API

pl.col() 表达式在 select/filter/groupby 中一以贯之,可组合、可复用。

🔗

无缝生态集成

与 pandas/NumPy/Arrow/DuckDB 互转,Parquet 原生支持,迁移平滑。

课程目录

10 章从安装到性能实战,覆盖 Eager 与 Lazy 两套心智模型

Chapter 01

认识 Polars 与安装

为何比 pandas 快、Apache Arrow 列式内存、Rust 多线程、eager vs lazy、安装与第一个 hello world。

入门 原理
Chapter 02

Series 与 DataFrame

核心数据结构、dtype(Int64/Float64/Utf8/Boolean/Categorical)、创建与读取、schema、null 表示。

数据结构 dtype
Chapter 03

表达式 Expression API

pl.col/pl.lit、select/with_columns、算术与比较、别名 alias,理解这套 API 的核心地位。

表达式 核心
Chapter 04

过滤 · 排序 · 选择

filter、sort、head/tail、unique,when/then/otherwise 条件表达式,链式管道风格。

filter when/then
Chapter 05

聚合与分组 groupby

group_by().agg()、多聚合、over 窗口表达式、pivot 透视,分组内的表达式威力。

groupby 窗口
Chapter 06

连接与拼接

join(inner/left/outer/semi/anti/cross)、concat、align,与 pandas merge 对比。

join concat
Chapter 07

Lazy API 与查询优化

LazyFrame、scan_csv/scan_parquet、collect、谓词/投影下推、explain 查询计划、streaming。

Lazy 优化器
Chapter 08

时间序列

Datetime/Duration、dt 命名空间、group_by_dynamic、rolling 滚动窗口、时区、resample。

时间序列 rolling
Chapter 09

字符串 · 列表 · 结构体

str 命名空间、list 命名空间、struct 结构体、explode 展开、正则表达式处理。

str/list struct
Chapter 10

生态集成与性能实战

与 pandas/NumPy/Arrow/DuckDB 互转、Parquet 最佳实践、性能调优清单、常见坑与迁移建议。

集成 性能
⚒️ 配套开发者工具箱 · JSON / 正则 / 时间戳 / Cron 等 17 款免费在线工具