当前位置:   article > 正文

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

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合并方式

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

                         结果:

  •                 

实例二:right合并方式

代码如下所示:

  1. import pandas as pd
  2. # 创建两个示例数据框
  3. df1 = pd.DataFrame({
  4. 'A': ['北京','南京', '新疆'],
  5. 'B': ['甲', '乙', '丙']
  6. })
  7. df2 = pd.DataFrame({
  8. 'C': ['上海','北京', '新疆','河北'],
  9. 'D': ['甲', '乙', '丙','丁'],
  10. })
  11. #这种用法下df1为左表,df2为右表,左匹配不到的行自动填充为nan
  12. merged_df = df1.merge(df2,left_on = 'A',right_on='C',how='right')
  13. print(merged_df)
'
运行

结果:

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

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号