<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>第 5 章：合并与重塑（Merging &amp; Reshaping） on 跟我学机器学习</title><link>https://machinelearningwithme.com/course/pandas/chapter05/</link><description>Recent content in 第 5 章：合并与重塑（Merging &amp; Reshaping） on 跟我学机器学习</description><generator>Hugo</generator><language>zh_CN</language><lastBuildDate>Sat, 24 Oct 2026 23:02:48 +0800</lastBuildDate><atom:link href="https://machinelearningwithme.com/course/pandas/chapter05/index.xml" rel="self" type="application/rss+xml"/><item><title>Pandas 合并与重塑详解：merge、concat、melt、unstack 与 apply | Pandas 数据分析实战</title><link>https://machinelearningwithme.com/course/pandas/chapter05/core-concepts/</link><pubDate>Sat, 24 Oct 2026 22:30:00 +0800</pubDate><guid>https://machinelearningwithme.com/course/pandas/chapter05/core-concepts/</guid><description>&lt;h1 id="第-51-节-核心知识点"&gt;第 5.1 节 核心知识点&lt;a class="anchor" href="#%e7%ac%ac-51-%e8%8a%82-%e6%a0%b8%e5%bf%83%e7%9f%a5%e8%af%86%e7%82%b9"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;blockquote class='book-hint note'&gt;
&lt;p&gt;&lt;strong&gt;预计学习时长：&lt;/strong&gt; 50 分钟&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;本节目标：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;分清 &lt;code&gt;merge()&lt;/code&gt;（按条件匹配）和 &lt;code&gt;concat()&lt;/code&gt;（按位置堆叠）；&lt;/li&gt;
&lt;li&gt;会用 &lt;code&gt;inner&lt;/code&gt; / &lt;code&gt;left&lt;/code&gt; / &lt;code&gt;right&lt;/code&gt; / &lt;code&gt;outer&lt;/code&gt; 四种连接方式；&lt;/li&gt;
&lt;li&gt;会用 &lt;code&gt;suffixes&lt;/code&gt; 处理重名列，用 &lt;code&gt;indicator=True&lt;/code&gt; 检查匹配情况；&lt;/li&gt;
&lt;li&gt;会用 &lt;code&gt;concat()&lt;/code&gt; 按行拼和按列拼；&lt;/li&gt;
&lt;li&gt;会用 &lt;code&gt;melt()&lt;/code&gt; 把宽表变长表、&lt;code&gt;unstack()&lt;/code&gt; 把长表变宽表；&lt;/li&gt;
&lt;li&gt;会用 &lt;code&gt;apply()&lt;/code&gt; 和 &lt;code&gt;map()&lt;/code&gt; 写自己的变换逻辑。&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;&lt;h2 id="先说清楚一件事merge-和-concat-的本质区别"&gt;先说清楚一件事：merge 和 concat 的本质区别&lt;a class="anchor" href="#%e5%85%88%e8%af%b4%e6%b8%85%e6%a5%9a%e4%b8%80%e4%bb%b6%e4%ba%8bmerge-%e5%92%8c-concat-%e7%9a%84%e6%9c%ac%e8%b4%a8%e5%8c%ba%e5%88%ab"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;这一章所有的困惑，都来自没分清这两件事：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;&lt;/th&gt;
					&lt;th&gt;&lt;code&gt;merge()&lt;/code&gt;&lt;/th&gt;
					&lt;th&gt;&lt;code&gt;concat()&lt;/code&gt;&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;干什么&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;按条件匹配&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;按位置堆叠&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;怎么对齐&lt;/td&gt;
					&lt;td&gt;按你指定的「共同字段」&lt;/td&gt;
					&lt;td&gt;按&lt;strong&gt;索引&lt;/strong&gt;对齐&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;行数会变吗&lt;/td&gt;
					&lt;td&gt;会（取决于 &lt;code&gt;how&lt;/code&gt;）&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;axis=0&lt;/code&gt; 时相加，&lt;code&gt;axis=1&lt;/code&gt; 时不变&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;类比&lt;/td&gt;
					&lt;td&gt;SQL 的 JOIN&lt;/td&gt;
					&lt;td&gt;复制粘贴&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;一个生活化的比喻&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;merge()&lt;/code&gt; 像是&lt;strong&gt;查字典&lt;/strong&gt;——你拿着订单号去客户表里查，查到谁就补上谁的信息，查不到的就空着；&lt;/li&gt;
&lt;li&gt;&lt;code&gt;concat()&lt;/code&gt; 像是&lt;strong&gt;把两叠纸摞起来&lt;/strong&gt;——不看内容，只看位置。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;搞清这个区别，下面所有内容都好理解。&lt;/p&gt;
&lt;h2 id="知识点-1merge-dataframes合并-dataframe"&gt;知识点 1：Merge DataFrames（合并 DataFrame）&lt;a class="anchor" href="#%e7%9f%a5%e8%af%86%e7%82%b9-1merge-dataframes%e5%90%88%e5%b9%b6-dataframe"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;准备两张表：&lt;/p&gt;</description></item><item><title>Pandas 编程练习：5 道动手题学会合并与重塑（merge、concat、melt、unstack、apply） | Pandas 数据分析实战</title><link>https://machinelearningwithme.com/course/pandas/chapter05/coding-exercises/</link><pubDate>Sat, 24 Oct 2026 22:30:00 +0800</pubDate><guid>https://machinelearningwithme.com/course/pandas/chapter05/coding-exercises/</guid><description>&lt;h1 id="第-52-节-编程练习"&gt;第 5.2 节 编程练习&lt;a class="anchor" href="#%e7%ac%ac-52-%e8%8a%82-%e7%bc%96%e7%a8%8b%e7%bb%83%e4%b9%a0"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;blockquote class='book-hint note'&gt;
&lt;p&gt;&lt;strong&gt;预计学习时长：&lt;/strong&gt; 50 分钟&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;练习方式：&lt;/strong&gt; 新建一个 Jupyter Notebook，抄好准备代码，然后&lt;strong&gt;每题独立完成&lt;/strong&gt;。这 5 题是整个课程的收官，难度比前面略高，慢慢来。&lt;/p&gt;&lt;/blockquote&gt;&lt;h2 id="准备两张表"&gt;准备：两张表&lt;a class="anchor" href="#%e5%87%86%e5%a4%87%e4%b8%a4%e5%bc%a0%e8%a1%a8"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;import&lt;/span&gt; &lt;span style="color:#0e84b5;font-weight:bold"&gt;pandas&lt;/span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;as&lt;/span&gt; &lt;span style="color:#0e84b5;font-weight:bold"&gt;pd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;import&lt;/span&gt; &lt;span style="color:#0e84b5;font-weight:bold"&gt;numpy&lt;/span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;as&lt;/span&gt; &lt;span style="color:#0e84b5;font-weight:bold"&gt;np&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;orders &lt;span style="color:#666"&gt;=&lt;/span&gt; pd&lt;span style="color:#666"&gt;.&lt;/span&gt;DataFrame({
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;订单号&amp;#34;&lt;/span&gt;: [&lt;span style="color:#40a070"&gt;1001&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1002&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1003&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1004&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;城市&amp;#34;&lt;/span&gt;: [&lt;span style="color:#4070a0"&gt;&amp;#34;北京&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;上海&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;北京&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;广州&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;商品&amp;#34;&lt;/span&gt;: [&lt;span style="color:#4070a0"&gt;&amp;#34;手机&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;电脑&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;耳机&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;手机&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;销量&amp;#34;&lt;/span&gt;: [&lt;span style="color:#40a070"&gt;2&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1&lt;/span&gt;, &lt;span style="color:#40a070"&gt;3&lt;/span&gt;, &lt;span style="color:#40a070"&gt;2&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;金额&amp;#34;&lt;/span&gt;: [&lt;span style="color:#40a070"&gt;7998.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;7999.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1797.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;7998.0&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;})
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;clients &lt;span style="color:#666"&gt;=&lt;/span&gt; pd&lt;span style="color:#666"&gt;.&lt;/span&gt;DataFrame({
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;订单号&amp;#34;&lt;/span&gt;: [&lt;span style="color:#40a070"&gt;1001&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1002&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1005&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;客户名&amp;#34;&lt;/span&gt;: [&lt;span style="color:#4070a0"&gt;&amp;#34;张三&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;李四&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;王五&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;会员等级&amp;#34;&lt;/span&gt;: [&lt;span style="color:#4070a0"&gt;&amp;#34;金卡&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;银卡&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;铜卡&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;})&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="练习-1根据共同字段合并两个-dataframe"&gt;练习 1：根据共同字段合并两个 DataFrame&lt;a class="anchor" href="#%e7%bb%83%e4%b9%a0-1%e6%a0%b9%e6%8d%ae%e5%85%b1%e5%90%8c%e5%ad%97%e6%ae%b5%e5%90%88%e5%b9%b6%e4%b8%a4%e4%b8%aa-dataframe"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;题目：&lt;/strong&gt; 完成下面 5 个任务：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;用 &lt;code&gt;merge()&lt;/code&gt; 按「订单号」合并两张表，打印结果（默认方式）；&lt;/li&gt;
&lt;li&gt;改成 &lt;code&gt;how=&amp;quot;left&amp;quot;&lt;/code&gt;，打印结果；&lt;/li&gt;
&lt;li&gt;改成 &lt;code&gt;how=&amp;quot;outer&amp;quot;&lt;/code&gt;，并加 &lt;code&gt;indicator=True&lt;/code&gt;，打印结果；&lt;/li&gt;
&lt;li&gt;从第 3 题的结果里，筛出 &lt;code&gt;_merge&lt;/code&gt; 为 &lt;code&gt;&amp;quot;left_only&amp;quot;&lt;/code&gt; 的行；&lt;/li&gt;
&lt;li&gt;统计 &lt;code&gt;_merge&lt;/code&gt; 各取值的行数。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;思考题：&lt;/strong&gt; 第 1 题为什么只有 2 行？订单 1003 去哪了？&lt;/p&gt;</description></item><item><title>Pandas 常见问题答疑：10 个合并重塑必踩的坑（merge、concat、melt、unstack、apply） | Pandas 数据分析实战</title><link>https://machinelearningwithme.com/course/pandas/chapter05/faq/</link><pubDate>Sat, 24 Oct 2026 22:30:00 +0800</pubDate><guid>https://machinelearningwithme.com/course/pandas/chapter05/faq/</guid><description>&lt;h1 id="第-53-节-常见问题"&gt;第 5.3 节 常见问题&lt;a class="anchor" href="#%e7%ac%ac-53-%e8%8a%82-%e5%b8%b8%e8%a7%81%e9%97%ae%e9%a2%98"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;这一节收集了初学者在「拼表」环节最常卡的 10 个问题。每个问题都给出&lt;strong&gt;直接答案&lt;/strong&gt;，能跑代码的都附上完整示例。&lt;/p&gt;
&lt;blockquote class='book-hint tip'&gt;
&lt;p&gt;&lt;strong&gt;怎么用这一节&lt;/strong&gt;
不用通读。拼表时遇到问题用 Ctrl+F 搜关键词，直接跳到对应那条。&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;准备一下数据，下面每题都会用到：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;import&lt;/span&gt; &lt;span style="color:#0e84b5;font-weight:bold"&gt;pandas&lt;/span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;as&lt;/span&gt; &lt;span style="color:#0e84b5;font-weight:bold"&gt;pd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;import&lt;/span&gt; &lt;span style="color:#0e84b5;font-weight:bold"&gt;numpy&lt;/span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;as&lt;/span&gt; &lt;span style="color:#0e84b5;font-weight:bold"&gt;np&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;orders &lt;span style="color:#666"&gt;=&lt;/span&gt; pd&lt;span style="color:#666"&gt;.&lt;/span&gt;DataFrame({
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;订单号&amp;#34;&lt;/span&gt;: [&lt;span style="color:#40a070"&gt;1001&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1002&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1003&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1004&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;城市&amp;#34;&lt;/span&gt;: [&lt;span style="color:#4070a0"&gt;&amp;#34;北京&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;上海&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;北京&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;广州&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;商品&amp;#34;&lt;/span&gt;: [&lt;span style="color:#4070a0"&gt;&amp;#34;手机&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;电脑&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;耳机&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;手机&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;金额&amp;#34;&lt;/span&gt;: [&lt;span style="color:#40a070"&gt;7998.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;7999.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1797.0&lt;/span&gt;, &lt;span style="color:#40a070"&gt;7998.0&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;})
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;clients &lt;span style="color:#666"&gt;=&lt;/span&gt; pd&lt;span style="color:#666"&gt;.&lt;/span&gt;DataFrame({
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;订单号&amp;#34;&lt;/span&gt;: [&lt;span style="color:#40a070"&gt;1001&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1002&lt;/span&gt;, &lt;span style="color:#40a070"&gt;1005&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;客户名&amp;#34;&lt;/span&gt;: [&lt;span style="color:#4070a0"&gt;&amp;#34;张三&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;李四&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;王五&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;会员等级&amp;#34;&lt;/span&gt;: [&lt;span style="color:#4070a0"&gt;&amp;#34;金卡&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;银卡&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;铜卡&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;})&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="q1merge-和-concat-有什么区别"&gt;Q1：&lt;code&gt;merge()&lt;/code&gt; 和 &lt;code&gt;concat()&lt;/code&gt; 有什么区别？&lt;a class="anchor" href="#q1merge-%e5%92%8c-concat-%e6%9c%89%e4%bb%80%e4%b9%88%e5%8c%ba%e5%88%ab"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;答：&lt;/strong&gt; 一个&lt;strong&gt;按条件匹配&lt;/strong&gt;，一个&lt;strong&gt;按位置堆叠&lt;/strong&gt;。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;&lt;/th&gt;
					&lt;th&gt;&lt;code&gt;merge()&lt;/code&gt;&lt;/th&gt;
					&lt;th&gt;&lt;code&gt;concat()&lt;/code&gt;&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;对齐依据&lt;/td&gt;
					&lt;td&gt;你指定的&lt;strong&gt;共同字段&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;索引&lt;/strong&gt;（&lt;code&gt;axis=1&lt;/code&gt; 时）或直接摞（&lt;code&gt;axis=0&lt;/code&gt; 时）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;行数&lt;/td&gt;
					&lt;td&gt;取决于 &lt;code&gt;how&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;axis=0&lt;/code&gt; 时相加，&lt;code&gt;axis=1&lt;/code&gt; 时取并集&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;像什么&lt;/td&gt;
					&lt;td&gt;SQL 的 JOIN&lt;/td&gt;
					&lt;td&gt;复制粘贴&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;什么时候用&lt;/td&gt;
					&lt;td&gt;「给表补信息」&lt;/td&gt;
					&lt;td&gt;「把多段记录接起来」&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#60a0b0;font-style:italic"&gt;# 补信息：订单表加客户信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;orders&lt;span style="color:#666"&gt;.&lt;/span&gt;merge(clients, on&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#4070a0"&gt;&amp;#34;订单号&amp;#34;&lt;/span&gt;, how&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#4070a0"&gt;&amp;#34;left&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#60a0b0;font-style:italic"&gt;# 接记录：这个月的表 + 上个月的表&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pd&lt;span style="color:#666"&gt;.&lt;/span&gt;concat([jan_df, feb_df], ignore_index&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;True&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote class='book-hint important'&gt;
&lt;p&gt;&lt;strong&gt;一句话判断&lt;/strong&gt;&lt;/p&gt;</description></item></channel></rss>