跳到主要内容
哒哒星球DADA PLANET

Skill · 已公开版本

polars · 用 Polars 写清晰高效的数据转换

通过表达式、延迟查询与流式执行整理表格数据,适合迁移复杂的清洗和汇总流程。

先看看示例

作者提供的示例,实际效果取决于你的输入和使用工具。

输入

orders.csv 含 region,status,amount。三行演示数据:East,paid,10;East,paid,空;West,pending,空。只统计 status=paid;在已付款范围内排除空金额并计数。

输出

编辑示例 · 未运行

import polars as pl
q = pl.scan_csv("orders.csv", schema_overrides={"amount": pl.Float64})
paid = q.filter(pl.col("status") == "paid")
invalid = paid.filter(pl.col("amount").is_null()).select(
    pl.len().alias("excluded_paid_rows")
)
report = (paid.filter(pl.col("amount").is_not_null())
    .group_by("region")
    .agg(pl.col("amount").sum().alias("revenue"))
    .sort("revenue", descending=True))
print(report.explain())
report.collect().write_csv("region_revenue.csv")
print(invalid.collect())

对三行演示数据的手算核对值:East 收入为 10,已付款范围排除 1 行;pending 的空金额不计入本次排除数。代码未执行,这些数值用于核对运行结果。

方法说明

通过表达式、延迟查询与流式执行整理表格数据,适合迁移复杂的清洗和汇总流程。

具体任务

按地区汇总已付款订单:通过表达式、延迟查询与流式执行整理表格数据,适合迁移复杂的清洗和汇总流程。

迁移已有数据转换:将 pandas 的逐行处理改成 Polars 表达式,并对照小样本结果和空值行为。

必需材料

数据路径与字段类型

筛选、聚合或连接规则

可选材料

文件规模与内存限制

预期结果样例

使用门槛

有兼容 Polars 的 Python 环境,并能确认日期、空值与主键语义。

这个 Skill 额外提供的方法

用表达式与惰性查询把读取、过滤和聚合连成可检查的执行计划。

编辑示例(未运行)

按地区汇总已付款订单

任务:请根据下面的示例材料完成按地区汇总已付款订单,把判断依据和待确认事项写清楚。

输入:
orders.csv 含 region,status,amount。三行演示数据:East,paid,10;East,paid,空;West,pending,空。只统计 status=paid;在已付款范围内排除空金额并计数。

结果片段:
```python
import polars as pl
q = pl.scan_csv("orders.csv", schema_overrides={"amount": pl.Float64})
paid = q.filter(pl.col("status") == "paid")
invalid = paid.filter(pl.col("amount").is_null()).select(
    pl.len().alias("excluded_paid_rows")
)
report = (paid.filter(pl.col("amount").is_not_null())
    .group_by("region")
    .agg(pl.col("amount").sum().alias("revenue"))
    .sort("revenue", descending=True))
print(report.explain())
report.collect().write_csv("region_revenue.csv")
print(invalid.collect())
```

对三行演示数据的手算核对值:East 收入为 10,已付款范围排除 1 行;pending 的空金额不计入本次排除数。代码未执行,这些数值用于核对运行结果。

用表达式与惰性查询把读取、过滤和聚合连成可检查的执行计划。 该片段是编辑示例,用于说明交付形态,未运行上游技能。

首次任务

请使用「用 Polars 写清晰高效的数据转换」完成「按地区汇总已付款订单」。
任务要求:用表达式与惰性查询把读取、过滤和聚合连成可检查的执行计划。

我的必需材料:
- 数据路径与字段类型:[请填写或粘贴]
- 筛选、聚合或连接规则:[请填写或粘贴]

请基于上述实际材料输出:Polars 查询代码、执行计划与结果校验。缺少依据的地方单列为待确认,不编造事实;未执行的操作或测试明确标为未执行。

验收要求:
1. 金额汇总与人工小样本一致。
2. 已付款范围内的有效行数与空金额排除数能对账,不混入其他状态。
3. 先查看计划再测资源消耗。

验收方法

金额汇总与人工小样本一致

已付款范围内的有效行数与空金额排除数能对账,不混入其他状态

先查看计划再测资源消耗

依赖与准备

固定来源以 Python 3.10+、Polars 1.41.x 为兼容基线;CSV 基础流程只需 Polars,Excel/数据库/云路径另装对应扩展。

使用边界

高效代码不等于实测提速,需相同数据下对比。

云存储、数据库和 GPU 属可选集成,需单独依赖与权限。

排错

连接后金额变大:检查连接键是否唯一以及是否发生多对多扩张。

字符串金额无法求和:明确清洗货币符号和千位分隔规则,再转换类型并记录失败行。

固定来源

https://github.com/K-Dense-AI/scientific-agent-skills/blob/065b734670d7d990627dbc06a05b5a99be33f1f1/skills/polars/SKILL.md