我有以下两个数据框:
h6
我现在想通过列df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'],'B': ['B0', 'B1', 'B2']})
df2 = pd.DataFrame({'A': ['A0', 'A1', 'A3'],'B': ['B0', 'B1', 'B2']})
中的条目合并这两个数据帧。但是我不想保留匹配的行,但不要保留彼此不匹配的行。
这意味着,我想获得一个新的数据框,如下所示:
'A'
我该怎么办?
非常感谢!
答案 0 :(得分:1)
使用isin尝试一下:
df2.loc[~df1.A.isin(df2.A)]
A B
2 A3 B2
答案 1 :(得分:1)
与外部联接合并会给您类似的结果:
df1.merge(df2, how = 'outer', on = 'A', indicator = True)
A B_x B_y _merge
0 A0 B0 B0 both
1 A1 B1 B1 both
2 A2 B2 NaN left_only
3 A3 NaN B2 right_only
可以用query
过滤:
df1.merge(df2, how = 'outer', on = 'A', indicator = True).query("_merge != 'both'")
A B_x B_y _merge
2 A2 B2 NaN left_only
3 A3 NaN B2 right_only
请注意indicator = True
创建的列_merge
适合过滤行。