
时间 | 里程碑 |
|---|---|
2020年3月 | 由前 Adyen 数据科学家 Ritchie Vink 创建,初衷是学习 Rust 语言 |
2021–2022年 | 社区快速增长,GitHub 星标迅速上升,开始吸引企业用户 |
2023年8月 | 项目3周年,宣布成立商业公司支持开源发展 |
2025年 | 被 scikit-learn、Hugging Face Datasets、DuckDB 等主流库原生支持,生产环境采用率大幅提升 |
模式 | 特点 | 适用场景 |
|---|---|---|
Eager | 立即执行,返回 | 小数据集、交互式分析 |
Lazy | 构建查询计划, | 大数据集、复杂管道、性能优化 |

import polars as pl# 创建 DataFramedf = pl.DataFrame({"name": ["Alice", "Bob", "Charlie"],"age": [25, 30, 35],"city": ["NYC", "LA", "Chicago"]})# 基本操作print(df.head(2)) # 前2行print(df.select("name")) # 选择列print(df.filter(pl.col("age") > 28)) # 过滤# 新增列(不可变:返回新 DataFrame)df_with_income = df.with_columns((pl.col("age") * 1000).alias("income"))
# 读取 CSV 文件(仅构建查询计划,不立即加载)lazy_df = (pl.scan_csv("large_file.csv").filter(pl.col("status") == "active").select(["user_id", "timestamp", "value"]).group_by("user_id").agg(pl.col("value").sum().alias("total_value")).sort("total_value", descending=True).limit(100))# 此时数据尚未加载!# 执行查询并触发优化result = lazy_df.collect() # 查询优化器自动重排操作顺序
df = pl.DataFrame({"group": ["A", "A", "A", "B", "B", "B"],"value": [1, 2, 3, 4, 5, 6]})result = df.with_columns([pl.col("value").rank().over("group").alias("rank_in_group"),pl.col("value").mean().over("group").alias("group_mean"),pl.col("value").cum_sum().over("group").alias("cumsum")])print(result)
Python--数据/图像可视化(雷达图,甘特图,热力图)
细数那些经典教材(基础编程、数据结构与算法)
Python库巡礼(NumPy,Pandas,SciPy)
Python与数学之美(玫瑰线)
推荐文章