返回首页

Roadmap

第 5 章 合并与重塑#

这一章要解决什么#

前四章你一直在处理一张表。但真实的工作很少只给你一张表。

现在想象这些场景:

  • 订单表里有订单号、城市、金额,客户表里有订单号对应的客户名和会员等级——你得把两张表拼起来;
  • 这个月的表和上个月的表结构一样,你想摞成一张看整年趋势;
  • 报表里「一季度、二季度、三季度」是三列,你想变成三行,好画图;
  • 或者反过来,长表变宽表,好放进 Excel 模板。

这四类需求对应 Pandas 里的四个工具:

需求工具一句话
两张表按共同字段横向拼merge()查字典,把信息补进去
多张表摞起来concat()复制粘贴,加行或加列
宽表变长表melt()把「几列」压成「几行」
长表变宽表unstack() / pivot()把「几行」摊成「几列」

章节导航#

  • 第 5.1 节 核心知识点——merge() 的四种 how、concat() 的行列拼接、melt()、unstack(),以及 apply() / map() 的自定义变换。
  • 第 5.2 节 编程练习——5 道动手题,从「两表合并」一路做到「自定义变换」。
  • 第 5.3 节 常见问题——10 个高频疑问,比如「merge 和 concat 到底选哪个」「applymap 在新版 Pandas 里没了怎么办」。

预备知识#

  • 会第 4 章的 groupby();
  • 知道「索引」是什么(第 2 章);
  • 知道 Python 的列表拼接。

本章最重要的一件事 merge() 是「按条件匹配」,concat() 是「按位置堆叠」。 这两者的区别,是本章 90% 的困惑来源。 合并前先问自己:我是想「补信息」,还是想「加记录」?

本章内容

第5.1节 核心知识点(50分钟)

本文是 Pandas 数据分析实战课程第 5 章第 1 节,系统讲解 Pandas 的 5 个合并重塑核心操作:merge 的 inner/left/right/outer 四种连接方式、concat 的行列拼接、melt 宽格式转长格式 …

第5.2节 编程练习(50分钟)

本文是 Pandas 数据分析实战课程第 5 章第 2 节,提供 5 道编程练习:按共同字段合并两张表、用 concat 按行或按列拼接数据、把多指标列的宽表转成长表、用 unstack 把多级索引转成宽表,以及用 apply 对指定列或行 …

第5.3节 常见问题(35分钟)

本文是 Pandas 数据分析实战课程第 5 章第 3 节,汇总了初学者在 Pandas 合并与重塑时最常遇到的 10 个问题并逐一解答,涵盖 merge 与 concat 的区别、四种连接方式的含义、多字段合并、重复列名的 …