Python中merge和concat的区别,并分别实现左连接(left join)、右连接(right join)、外连接(outer join)和内连接(inner join)

Python中merge和concat的区别,并分别实现左连接(left join)、右连接(right join)、外连接(outer join)和内连接(inner join)通过 python 实现 Sql 中的表连接操作 importpandas pd DataFrame np ones 3 4 0 columns

大家好,欢迎来到IT知识分享网。

通过python实现Sql中的表连接操作

一、merg实现表连接

数据准备:

import pandas as pd import numpy as np left = pd.DataFrame({'key':['K0','K1','K2','K3'], 'A':['A0','A1','A2','A3'], 'B':['B0','B1','B2','B3'] }) right = pd.DataFrame({'key':['K0','K11','K2','K31'], 'C':['C0','C1','C2','C3'], 'D':['D0','D1','D2','D3'] }) 

1、单条件连接:merge

内连接:
# how参数不写 默认是内连接 pd.merge(left,right,on = ['key']) pd.merge(left,right,on = ['key'],how='inner') 

输出结果:在这里插入图片描述

外连接(全连接):
# 外连接 pd.merge(left,right,on = ['key'],how='outer') 

输出结果:在这里插入图片描述

左连接:
# 左连接 pd.merge(left,right,on = ['key'],how='left') 

输出结果:在这里插入图片描述

右连接:
# 右连接 pd.merge(left,right,on = ['key'],how='right') 

输出结果:在这里插入图片描述

2、多条件连接:merge

数据准备:

#多条件关联 left1 = pd.DataFrame({'key1':['K0','K0','K1','K2'], 'key2':['K0','K1','K0','K1'], 'A':['A0','A1','A2','A3'], 'B':['B0','B1','B2','B3'] }) right1 = pd.DataFrame({'key1':['K0','K1','K1','K2'], 'key2':['K0','K0','K0','K0'], 'C':['C0','C1','C2','C3'], 'D':['D0','D1','D2','D3'] }) 
内连接:
# 内连接 ,how 参数不写默认是内连接 pd.merge(left1,right1,on=['key1','key2']) pd.merge(left1,right1,on=['key1','key2'],how = 'inner') 

输出结果:在这里插入图片描述

外连接(全连接):
# 外连接 pd.merge(left1,right1,on=['key1','key2'],how= 'outer') 

输出结果:在这里插入图片描述

左连接:
# 左连接 pd.merge(left1,right1,on=['key1','key2'],how= 'left') 

输出结果:在这里插入图片描述

右连接:
# 右连接 pd.merge(left1,right1,on=['key1','key2'],how= 'right') 

输出结果:在这里插入图片描述

二、concat实现表连接

数据准备:

df1 = pd.DataFrame(np.ones((3,4))*0,columns= ['a','b','c','d'],index=(1,2,3)) df2 = pd.DataFrame(np.ones((3,4))*11,columns= ['b','c','d','e'],index=(2,3,4)) 

1、行连接(横向连接):

全连接:
pd.concat([df1,df2],axis=1) 
左连接:
pd.concat([df1,df2],axis=1,join_axes=[df1.index]) 

输出结果:在这里插入图片描述

右连接:
pd.concat([df1,df2],axis=1,join_axes=[df2.index]) 

输出结果:在这里插入图片描述

2、列连接(纵向连接):

两种方法实现:concat/append

方法1、concat
pd.concat([df1,df2],axis=0) 
pd.concat([df1,df2],axis=0,ignore_index =True) 
方法2、append
df1.append(df2,ignore_index=True) 

三、merge和concat的区别:

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/102869.html

(0)
上一篇 2026-02-21 18:01
下一篇 2025-09-19 13:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信