concat()用于简单拼接,merge()用于关联合并。concat按轴方向堆叠或合并数据,适用于结构相同表格的上下或左右拼接;merge基于公共列实现类似SQL的JOIN操作,支持内连接、外连接等模式,适用于不同表间通过键列关联匹配数据。

在Python中处理表格数据时,pandas 是最常用的库。当我们需要将多个表格(如Excel、CSV文件或DataFrame)合并时,主要有两种核心方法:concat() 和 merge()。它们适用于不同的场景,下面分别介绍它们的用法和特点。
1. 使用 concat() 进行纵向或横向拼接
concat() 适用于简单地把多个表格“堆叠”在一起,无论是上下拼接(纵向),还是左右拼接(横向)。
常见用途:
多个结构相同的表格按行合并(比如不同月份的销售数据)将一个表格的列添加到另一个表格(按列合并)
基本语法:
立即学习“Python免费学习笔记(深入)”;
pd.concat([df1, df2, df3], axis=0, ignore_index=False)
参数说明:
axis=0:沿行方向拼接(上下堆叠),结果行数增加axis=1:沿列方向拼接(左右合并),结果列数增加ignore_index=True:重新生成连续索引,避免重复索引问题
示例:
import pandas as pddf1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})
result = pd.concat([df1, df2], ignore_index=True)
结果是4行2列,上下拼接
2. 使用 merge() 基于关键列进行关联合并
merge() 类似于SQL中的JOIN操作,根据一个或多个公共列将两个表格连接起来。
常见用途:
根据用户ID将用户信息表和订单表合并匹配不同来源但有共同键的数据
基本语法:
立即学习“Python免费学习笔记(深入)”;
pd.merge(df_left, df_right, on='key', how='inner')
关键参数:
on:指定用于连接的列名(两表都有)how:合并方式,包括 ‘inner’、’outer’、’left’、’right’left_on / right_on:当左右表的键列名不同时使用
示例:
user = pd.DataFrame({'id': [1, 2], 'name': ['Alice', 'Bob']})order = pd.DataFrame({'id': [1, 2], 'amount': [100, 200]})result = pd.merge(user, order, on='id', how='inner')
按id列合并,保留共有的记录
基本上就这些。concat适合拼积木,merge适合查关联。根据你的数据结构和目标选择合适的方法就行。不复杂但容易忽略细节,比如索引处理和连接方式。
以上就是python中合并表格的两种方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1382422.html
微信扫一扫
支付宝扫一扫