所以,我有两个pandas数据帧:
a b
abc def
ghi jkl
mno pqr
和
a b
abc def
ghi jkl
stu vwx
我想要做的是合并这些数据帧,但只保留不重叠的数据帧(数据帧1和2中的第3行)
a b
stu vwx
mno pqr
答案 0 :(得分:1)
您可以将merge
与外部联接和参数indicator
一起使用,然后按boolean indexing
过滤不重要both
的行,最后按{删除_merge
列{ {3}}和drop
默认index
(0,1,2 ...):
df = pd.merge(df1, df2, how='outer', indicator=True)
print (df)
a b _merge
0 abc def both
1 ghi jkl both
2 mno pqr left_only
3 stu vwx right_only
df = df[df._merge != 'both'].drop('_merge', axis=1).reset_index(drop=True)
print (df)
a b
0 mno pqr
1 stu vwx