Pandas Dataframe合并连接Join和merge 参数讲解

文章目录

函数与参数分析

在pandas中主要有两个函数可以完成table之间的join

Join的函数如下:

DataFrame.join(other, on=None, how='left', lsuffix='', rsuffix='', sort=False, validate=None)

merge的函数如下:

DataFrame.merge(right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=None, indicator=False, validate=None)

下面会对于参数进行分别的解释。而通过可以调试的参数和

other

other是另外一个DataFrame或者Series,说明了join的两个表为DataFrame和other

on

on表示根据什么键进行连接,这个键可以是一个或者多个。如果这个连接的键在两个表中都存在就直接写就好,如果是一个就写一个String,多个就用list。

其中merge是需要给键值的。join默认的是使用索引的值。

如果不存在的话,那么则可以规定left_on和right_on。但是这个时候只能用merge, join是不支持这一点的。(merge的代码如下)

python 复制代码
result = df1.merge(df2, left_on='key1', right_on='key2')

但是如果是连接多个键的名字都不同的时候,(比如df1.key1 == df2.key2 , df1.key3 == df2.key4) 那么则最好先通过rename的函数对Dataframe进行改名,之后再merge。

how

how表示的是连接的方式,一般包含下面的参数,默认是左连接

join:

how{'left', 'right', 'outer', 'inner', 'cross'}, default 'left'

merge:

how{'left', 'right', 'outer', 'inner', 'cross'}, default 'inner'

这里可以看见两者默认的连接方式是不同的

不同的连接方式如下:

当使用cross的时候不需要指定on啥,因为会把左右连接的所有的可能都返回,并不在乎谁和谁相等。

lsuffix, rsuffix, suffixes

如果有非连接key出现同名的情况,可以用此参数来规定区别两个列分别来自于哪个表。

left_index, right_index

这个是merge中的参数,当设置为True的时候,意思是使用索引进行连接。

相关推荐
chouchuang14 小时前
day-037-Pandas数据读取
pandas
benchmark_cc2 天前
如何用 Python 进行多周期 K 线合成与时区对齐?基于 QuantDash 与 Pandas 的量化数据清洗实战(附 GitHub 源码)
开发语言·python·github·盯盘·pandas·quantdash·量化数据
梅雅达编程笔记3 天前
零基础学 Python 第14章 | 模块、包与第三方库
开发语言·python·django·numpy·pandas
梅雅达编程笔记3 天前
零基础学 Python 第15章 | 类与对象:面向对象编程入门
开发语言·python·django·numpy·pandas
benchmark_cc4 天前
Python 量化核心基础:前复权、后复权与不复权有什么区别?基于 QuantDash 的数据处理与回测避坑指南
开发语言·python·pandas·量化策略·量化交易·quantdash
人工干智能4 天前
科普:Pandas 索引器 loc 与 iloc 的编程思维
java·人工智能·pandas
梅雅达编程笔记4 天前
编程启蒙|Scratch 转 Python 系列第9天:字典/哈希表积木双向对照(AI大模型参数配置表实战)
开发语言·人工智能·python·numpy·pandas
benchmark_cc5 天前
用 Streamlit + QuantDash 10分钟拼装一个跨市场持仓风险与相关性诊断面板
开发语言·python·pandas·量化策略·量化交易·quantdash
benchmark_cc5 天前
如何用 Python + QuantDash 快速构建高胜率“配对交易(Pairs Trading)”策略?
开发语言·人工智能·python·pandas·量化交易·quantdash
weixin_307779138 天前
Python Pandas读取Excel Sheet生成SQL WHERE条件
python·sql·自动化·excel·pandas