所以,我有两个 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
最佳答案
您可以使用merge
使用外连接和参数 indicator
,然后通过 boolean indexing
过滤不包含 both
值的行最后通过drop
删除列_merge
并与 reset_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
关于python - 合并 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42359253/