Pandas Merge:如何合并两个DataFrame

作者:狼烟四起2024.01.22 05:03浏览量:15

简介:本文将介绍Pandas库中DataFrame的合并操作,包括merge()函数的基本用法、参数解释和实例演示。通过本文,您将了解如何使用merge()函数将两个DataFrame按照指定的列进行合并,从而得到所需的数据集。

千帆应用开发平台“智能体Pro”全新上线 限时免费体验

面向慢思考场景,支持低代码配置的方式创建“智能体Pro”应用

立即体验

在Pandas中,合并两个DataFrame是常见的操作之一。merge()函数是用于实现这一目的的主要工具。通过指定要合并的列,您可以按照多种方式将两个DataFrame组合在一起。下面我们将详细介绍merge()函数的使用方法。
一、基本用法
merge()函数的语法如下:

  1. pandas.merge(left, right, on=None, how='inner', sort=True, suffixes=('_x', '_y'), copy=True, indicator=False, allow_exact_matches=True, join='inner', inplace=False, verify_integrity=False, name=None)

参数解释:

  • left:要合并的左侧DataFrame。
  • right:要合并的右侧DataFrame。
  • on:用于合并的列名,默认为None。
  • how:合并类型,可选值为’inner’, ‘left’, ‘right’, ‘outer’,默认为’inner’。
  • sort:是否对合并后的结果进行排序,默认为True。
  • suffixes:用于区分重复列名的后缀,默认为(‘_x’, ‘_y’)。
  • copy:是否复制数据,默认为True。
  • indicator:是否在结果中添加指示器列,默认为False。
  • allow_exact_matches:是否允许完全匹配,默认为True。
  • join:指定连接类型,默认为’inner’。
  • inplace:是否在原始DataFrame上进行合并,默认为False。
  • verify_integrity:是否检查合并后的结果是否满足唯一性约束,默认为False。
  • name:合并后的新列名,默认为None。
    二、实例演示
    下面是一个简单的示例,演示如何使用merge()函数合并两个DataFrame:
    首先,我们需要导入Pandas库并创建两个示例DataFrame:
    1. import pandas as pd
    2. # 创建示例DataFrame1
    3. data1 = {'A': ['A0', 'A1', 'A2', 'A3'],
    4. 'B': ['B0', 'B1', 'B2', 'B3'],
    5. 'C': ['C0', 'C1', 'C2', 'C3'],
    6. 'D': ['D0', 'D1', 'D2', 'D3']}
    7. df1 = pd.DataFrame(data1)
    8. # 创建示例DataFrame2
    9. data2 = {'A': ['A1', 'A2', 'A3', 'A4'],
    10. 'E': ['E1', 'E2', 'E3', 'E4'],
    11. 'F': ['F1', 'F2', 'F3', 'F4']}
    12. df2 = pd.DataFrame(data2)
    接下来,我们使用merge()函数将df1和df2按照列’A’进行合并:
    1. # 合并df1和df2,按照列'A'进行合并(内连接)
    2. merged_df = pd.merge(df1, df2, on='A')
    3. print(merged_df)
    输出结果如下:
    1. A B C D E F
    2. 0 A1 B1 C1 D1 E1 F1
    3. 1 A2 B2 C2 D2 E2 F2
    4. 2 A3 B3 C3 D3 E3 F3
    在这个例子中,我们通过指定on参数为’A’来指定按照列’A’进行合并。默认情况下,merge()函数使用内连接(inner join)来合并两个DataFrame。如果想要使用其他类型的合并,可以设置how参数为’left’、’right’或’outer’。例如,下面的代码演示了如何使用左连接(left join):
    1. # 合并df1和df2,按照列'A'进行左连接(left join)
    2. left_merged_df = pd.merge(df1, df2, on='A', how='left')
    3. print(left_merged_df)
article bottom image

相关文章推荐

发表评论