Python3 pandas.merge 函数详解:参数、连接方式与索引应用

Elena
Elena
发布时间:2026-10-13| 3人浏览过
原创

本文深入解析Python3中pandas库的merge函数,详细讲解其核心参数如on、how、left_on、right_on及suffixes的用法。通过对比内连接、外连接、左连接和右连接的区别,并演示如何利用索引进行合并,帮助开发者高效完成数据清洗与重塑任务。

摘要

pandas.merge函数参数详解

在数据分析与建模过程中,大部分时间往往耗费在数据准备环节,这包括数据的加载、清理、转换以及重塑工作。pandas提供了一套高级、灵活且高效的核心函数,能够轻松实现数据的规整化。本节将重点详解pandas中用于合并数据集的merge函数(熟悉SQL或其他关系型数据库的用户对此方法可能较为熟悉)。创作不易,欢迎点赞支持。

1.merge函数的参数一览表

2.创建两个DataFrame

3.pd.merge()方法设置连接字段。

默认情况下,参数how设置为inner(内连接),并且会依据相同的字段key进行合并,这等同于执行on=‘key'的操作。

也可以显式地指定on='key',这里建议采用这种显式写法以提高代码可读性。

当左右两个DataFrame的合并字段名称不同时,可以使用left_on和right_on参数分别指定左侧和右侧的合并字段。在示例中,由于两边合并字段均为key,因此left_on和right_on的值均设为key。

连接方式:内、外、左、右连接

4.pd.merge()方法设置连接方法。

连接方法主要包括inner(内连接)、outer(外连接)、left(左连接)和right(右连接)。

参数how的默认值为inner(内连接),上述示例均采用内连接方式,即仅保留两边都存在的键值。

当采用outer(外连接)时,结果将取左右两边键值的并集,缺失的值将用NaN填充。

外连接实际上是左连接和右连接的并集。左连接保留左侧DataFrame的全部数据,右侧DataFrame仅匹配左侧DataFrame中的键(右连接right与左连接逻辑类似,但保留右侧全部数据)。

索引连接与重复列名处理

5.pd.merge()方法索引连接,以及重复列名命名。

pd.merge()方法允许通过设置left_index或right_index为True来使用索引进行连接。例如,这里df1使用data1列作为连接关键字,而df2则使用其索引作为连接关键字。

从上述示例可以看出,当两个DataFrame中都存在key列时,merge合并后pandas会自动在列名后添加(_x, _y)后缀以作区分。用户也可以通过设置suffixes参数来自定义这些后缀名称。

总结

以上介绍了Python3中pandas.merge函数的详细用法,希望能对大家有所帮助。如有任何疑问,欢迎留言,小编会及时回复。感谢大家对本站的支持! 如果本文对您有帮助,欢迎转载,请注明出处,谢谢!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。