Python学习-两个数据表的合并方法(merge)

merge函数:

        Python牛马界的神奇数据表合并方法

适用场景:

        通过两个数据表的某列,进行匹配,将两个数据表拼接在一起

适用的库:

pandas

基本语法:

pandas.merge(left, right, how='inner', on=None, left_on=None, right_on=None,

             left_index=False, right_index=False, sort=True,

             suffixes=('_x', '_y'), copy=True, indicator=False,

             validate=None)

参数说明:

        left:要合并的DataFrame对象,一般可称作左表

        right:要合并的DataFrame对象,一般可称作右表

        how:合并的类型,使用的合并类型不同,获取到的结果也不同,例如:

  •                 left/right:以左(右)表的键为主,值得注意的是,一般通过left(right)合并,
    •                                 得到的数据表行数,只会和左(右)表的行数一致,若有超出的情况,
      •                                 则需要查看是否有左(右)表一个键对应右(左)表多个键的情况
        •                 outer:以左右两表的键为主
          •                 inner:以左右两个表中都包含的键为主
            •         on:合并键的列名,即左右表中都存在的列
              •         left_on/right_on:左(右)表中的作为合并键的列名
                •         left_index/right_index:是否将索引作为合并的键,布尔值
                  •         sort:是否根据合并键对合并后的数据进行排序,布尔值(默认为True)
                    •         suffixes:元组,如果左右两个表存在相同的列名时,给列名添加后缀(默认添加'_x','_y')
                      •         copy:是否返回新对象(默认为True),否返回对输入值的引用,布尔值
                        •         indicator:是否添加一个 '_merge' 的输出列,标注每一行的原始数据来源
                          •                         ('left_only'、'right_only'、'both'),布尔值
                            •         validate:用于检查合并是否满足特定条件的字符串或可调用对象
                • 实例一:left合并方式

                  • 代码如下所示:
                    • import pandas as pd
                      
                      # 创建两个示例数据框
                      df1 = pd.DataFrame({
                          'A': ['北京','南京', '新疆'],
                          'B': ['甲', '乙', '丙']
                      })
                      
                      df2 = pd.DataFrame({
                          'C': ['上海','北京', '新疆'],
                          'D': ['甲', '乙', '丙']
                      })
                      
                      #这种用法下df1为左表,df2为右表,左匹配不到的行自动填充为nan
                      merged_df = df1.merge(df2,left_on = 'A',right_on='C',how='left')
                      print(merged_df)
                      

                         结果:

  •                 

实例二:right合并方式

代码如下所示:

import pandas as pd

# 创建两个示例数据框
df1 = pd.DataFrame({
    'A': ['北京','南京', '新疆'],
    'B': ['甲', '乙', '丙']
})

df2 = pd.DataFrame({
    'C': ['上海','北京', '新疆','河北'],
    'D': ['甲', '乙', '丙','丁'],

})

#这种用法下df1为左表,df2为右表,左匹配不到的行自动填充为nan
merged_df = df1.merge(df2,left_on = 'A',right_on='C',how='right')
print(merged_df)

结果:

就说这叭,累了,剩下的你还是自己试试叭

  • 14
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值