如何用Pandas合并含locid与locname的DataFrame并筛选异名行
解决Pandas合并DataFrame并筛选locid相同但locname不同的行
步骤1:合并两个DataFrame
使用merge()方法,以locid为关联键合并两个DataFrame,通过suffixes参数区分两个表的locname列:
import pandas as pd # 假设两个目标DataFrame为df1和df2 merged_df = pd.merge(df1, df2, on='locid', suffixes=('_left', '_right'))
步骤2:筛选目标行
合并完成后,通过布尔索引直接筛选出locname取值不同的行:
result_df = merged_df[merged_df['locname_left'] != merged_df['locname_right']]
完整示例
如果原始数据如下:
df1:
locid locname 1 北京 2 上海 3 广州
df2:
locid locname 1 北京 2 沪 3 广州
运行代码后,result_df会输出:
| locid | locname_left | locname_right |
|---|---|---|
| 2 | 上海 | 沪 |
内容的提问来源于stack exchange,提问作者Ana
相关产品推荐
相关产品推荐

