Pandas合并表格:如何使用Merge函数返回不匹配的行并保留列名

在使用Pandas处理数据时,经常需要合并两个表格。 merge 函数是实现此目的的强大工具。但是,有时我们只需要识别和返回不匹配的行。本教程将演示如何使用 merge 函数的 indicator 参数来实现这一点,并确保输出表格保留原始列名。

步骤:

  1. 导入Pandas库:

    python import pandas as pd

  2. 创建示例表格:

    python df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}) df2 = pd.DataFrame({'A': [2, 3, 4], 'B': [5, 6, 7]})

  3. 使用 merge 函数合并表格:

    使用 how='outer' 进行外连接,以包含所有行。设置 indicator=True 以添加一个名为 _merge 的列,该列指示每行的来源。

    python merged = df1.merge(df2, on=['A', 'B'], how='outer', indicator=True)

  4. 筛选不匹配的行:

    使用布尔索引选择 _merge 列中不等于 'both' 的行。 'both' 表示该行同时存在于两个表格中。

    python mismatched_rows = merged[merged['_merge'] != 'both']

  5. 打印结果:

    python print(mismatched_rows)

输出结果:

A B _merge0 1 4 left_only3 4 7 right_only

结果解释:

  • _merge 列标识了每一行的来源: * left_only 表示该行仅存在于左表 (df1) 中。 * right_only 表示该行仅存在于右表 (df2) 中。

通过这种方法,您可以有效地使用 merge 函数识别和返回 Pandas 表格中不匹配的行,同时保留原始列名以方便后续分析。

Pandas合并表格:如何使用Merge函数返回不匹配的行并保留列名

原文地址: https://www.cveoy.top/t/topic/y 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录