像整理一张超大的 Excel 表。
它负责读取、清洗、筛选和汇总数据。
pandas 最核心的东西,就是一张带行名和列名的二维表。
| index | 商品 | 价格 | 城市 |
|---|---|---|---|
| 0 | 苹果 | 8 | 上海 |
| 1 | 香蕉 | 6 | 北京 |
| 2 | 苹果 | 空 | 上海 |
整张表叫 DataFrame;只拿“价格”这一列,得到 Series。index 是每一行的编号。
大多数 pandas 工作都能拆成下面六类。
read_csv / read_excel:把文件变成表。
挑列、筛行,只保留需要的数据。
补空值、删重复、统一日期和数字格式。
新增列、求和、平均、排序。
groupby:按城市或商品分别统计。
merge:像拼图一样连接两张表。
从原始订单到答案,只需要一条清晰的数据流水线。
# 1. 读入订单
df = pd.read_csv("orders.csv")
# 2. 清洗
df = df.drop_duplicates()
df["价格"] = df["价格"].fillna(0)
# 3. 计算与汇总
df["销售额"] = df["数量"] * df["价格"]
answer = df.groupby("城市")["销售额"].sum()df[df["价格"] > 100]条件为真的行会被留下。
df.sort_values("价格",
ascending=False)ascending=False 表示降序。
orders.merge(products,
on="商品ID")通过共同的商品ID对上两张表。
| 场景 | 更合适的工具 | 原因 |
|---|---|---|
| 几十万行以内的探索分析 | pandas | 写法直接,生态丰富 |
| 人工录入与简单公式 | Excel | 鼠标操作更方便 |
| 数据库中数亿行统计 | SQL / 分布式工具 | 避免整表塞进内存 |
| 持续实时流数据 | 流处理系统 | pandas 偏批量处理 |