【发布时间】:2021-01-08 10:44:47
【问题描述】:
我有 2 个数据框,具有相同的列名:
#df1
col_1 col_2 col_3
1 10 100
2 20 40
3 30 50
#df2
col_1 col_2 col_3
5 10 200
3 20 500
3 30 700
我想仅基于 col_1 和 col_2 比较这 2 个数据帧,并在 df1 中找到行与 col_1 和 col_2 上的值,而这些值在 df2 中不存在
这是上述示例的所需输出:
#df
col_1 col_2 col_3
3 30 50
我尝试了这段代码,但它比较了整行,我只想比较 col_1 和 col_2:
df = df1.merge(df2, how = 'outer',indicator=True).loc[lambda x : x['_merge']=='left_only']
【问题讨论】:
-
"我尝试了这段代码,但它比较了整行,我只想比较 col_1 和 col_2" 然后只将这些列合并:
df1.merge(df2, on = ['col_1','col_2'], how = 'outer',indicator=True).loc....跨度>