Pandas合并表格:如何使用Merge函数返回不匹配的行并保留列名
Pandas合并表格:如何使用Merge函数返回不匹配的行并保留列名
在使用Pandas处理数据时,经常需要合并两个表格。 merge 函数是实现此目的的强大工具。但是,有时我们只需要识别和返回不匹配的行。本教程将演示如何使用 merge 函数的 indicator 参数来实现这一点,并确保输出表格保留原始列名。
步骤:
-
导入Pandas库:
python import pandas as pd -
创建示例表格:
python df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}) df2 = pd.DataFrame({'A': [2, 3, 4], 'B': [5, 6, 7]}) -
使用
merge函数合并表格:使用
how='outer'进行外连接,以包含所有行。设置indicator=True以添加一个名为_merge的列,该列指示每行的来源。python merged = df1.merge(df2, on=['A', 'B'], how='outer', indicator=True) -
筛选不匹配的行:
使用布尔索引选择
_merge列中不等于'both'的行。'both'表示该行同时存在于两个表格中。python mismatched_rows = merged[merged['_merge'] != 'both'] -
打印结果:
python print(mismatched_rows)
输出结果:
A B _merge0 1 4 left_only3 4 7 right_only
结果解释:
_merge列标识了每一行的来源: *left_only表示该行仅存在于左表 (df1) 中。 *right_only表示该行仅存在于右表 (df2) 中。
通过这种方法,您可以有效地使用 merge 函数识别和返回 Pandas 表格中不匹配的行,同时保留原始列名以方便后续分析。
原文地址: https://www.cveoy.top/t/topic/y 著作权归作者所有。请勿转载和采集!