跳转到内容

3.3.1 Pandas 路线图:从原始表到分析表

Pandas 是本课程里的表格工作台。只要 CSV、Excel、日志表或 SQL 查询结果需要变成干净表格,就会用到它。

Pandas 数据处理路线图

先记住这一行:

读取检查筛选清洗转换分组合并导出

不要一开始背 API。先问自己:我现在有什么表、最后需要什么表、中间哪一步在改变它?

创建 pandas_first_loop.py,安装 pandas 后运行。

import pandas as pd
orders = pd.DataFrame(
[
{"date": "2026-05-01", "category": "book", "amount": 120},
{"date": "2026-05-02", "category": "tool", "amount": 80},
{"date": "2026-05-03", "category": "book", "amount": None},
{"date": "2026-06-01", "category": "book", "amount": 150},
]
)
clean = (
orders.dropna(subset=["amount"])
.assign(month=lambda df: pd.to_datetime(df["date"]).dt.to_period("M").astype(str))
)
summary = clean.groupby(["month", "category"], as_index=False)["amount"].sum()
print(summary)

预期输出形状:

Terminal window
month category amount
0 2026-05 book 120.0
1 2026-05 tool 80.0
2 2026-06 book 150.0

这就是 Pandas 主循环:创建或读取数据,清理缺失值,增加派生列,分组并汇总。

顺序阅读练什么
13.3.2 核心数据结构SeriesDataFrameIndex
23.3.3 数据读取与写入CSV、Excel、JSON、导出
33.3.4 数据选择与筛选lociloc、条件筛选
43.3.5 数据清洗缺失值、重复值、类型
53.3.6 数据转换新列、映射、字符串和日期处理
63.3.7 分组与聚合groupby、指标、类别/月度汇总
73.3.8 数据合并安全合并多张表
83.3.9 时间序列日期索引、重采样、时间窗口

能把一张原始表变成一张干净的汇总表,能解释每个字段为什么这样处理,并能把结果交给可视化或机器学习继续使用,就算通过。

检查思路与讲解
  1. 合格答案要先说清问题,再指出需要的表、DataFrame 或 SQL 查询,并让清洗步骤可以复现。
  2. 证据至少包含一小段输出、必要的图表或查询结果,以及一句对结果的解释。
  3. 自检时要能说出一个数据质量风险,例如缺失值、重复行、错误 join、聚合误导或图表难读。

学完这一页,至少保留这张证据卡:

数据框状态
列、数据类型、行数、缺失值和样本行
操作
读/写、select/filter、清洗、转换、groupby、merge,或时间序列步骤
输出
结果表、保存的文件、聚合、连接结果,或时间索引视图
失败检查
dtype 不匹配、缺失数据、重复键、链式赋值或时间频率错误
期望产出
前后对比表格样本,以及转换原因