DataFrame合并

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

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(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值