DataFrame合并
合并方式有三种:
1、join (着重关注的是行的合并)
-
left 左连接:
df3.join(df4,how='left')
简单合并(默认是left左连接,以左侧df3为基础) -
right右连接:
df3.join(df4,how='right')
右连接,以右侧的数组为基础 -
outer外连接:
df3.join(df4,how='outer')
左右两侧都包含
所有合并连接,遇到没有的值都默认为NaN
- 合并多个DataFrame对象:
df3.join([df4,df5])
df4,df5两个数组都是以df3数组为基础合并的
2、merge(着重关注的是列的合并)
-
how=’inner’
默认下是根据左右对象中出现同名的列作为连接的键
pd.merge(df1,df2) -
指定列名合并
pd.merge(df1,df2,on='名字',suffixes=['_1','_2'])
根据名字这一列合并,suffixes 设置列名的后缀名(相同列不同内容时用) -
左连接left:
pd.merge(df1,df2,how='left')
以左侧为准 -
右连接right:
pd.merge(df1,df2,how='right')
以右侧为准 -
外连接outer:
pd.merge(df1,df2,how='outer')
df1和df2数组全部包含 -
根据多个键连接(列名):
pd.merge(df1,df2,on=['职称','名字'])
根据 ‘职称’,‘名字’ 进行合并
df1、df2、df3、df4、df5如下:
df1=pd.DataFrame({
'名字':list('ABCDE'),'性别':['男','女','男','男','女'],
'职称':['副教授','讲师','助教','教授','助教']},index=range(

本文详细介绍了Python DataFrame的三种合并方式:join(行合并)、merge(列合并)和Concat。join默认为左连接,也可选择右连接和外连接;merge侧重列合并,包括内连接、外连接等,并能指定合并列;Concat则支持按行或按列合并,同时可创建层次化索引。
最低0.47元/天 解锁文章
435

被折叠的 条评论
为什么被折叠?



