合并熊猫数据框并保留合并标准不匹配的行

我有这两个数据框:

df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'],'B': ['B0', 'B1', 'B2']})
df2 = pd.DataFrame({'A': ['A0', 'A1', 'A3'],'B': ['B0', 'B1', 'B2']})

我现在想通过列中的条目合并这两个数据框'A'。但我不想保留匹配的行,而是保留彼此不匹配的行。

这意味着,我想要一个看起来像这样的新数据框:

df_new = pd.DataFrame({'A':['A3'], 'B':['B2']})

我怎么能这样做?


阿晨1998
浏览 121回答 2
2回答

猛跑小猪

与外部联接合并会给您类似的结果:df1.merge(df2, how = 'outer', on = 'A', indicator = True)    A  B_x  B_y      _merge0  A0   B0   B0        both1  A1   B1   B1        both2  A2   B2  NaN   left_only3  A3  NaN   B2  right_only可以通过以下方式过滤query:df1.merge(df2, how = 'outer', on = 'A', indicator = True).query("_merge != 'both'")    A  B_x  B_y      _merge2  A2   B2  NaN   left_only3  A3  NaN   B2  right_only注意indicator = True创建_merge适合过滤行的列。

Smart猫小萌

试试这个,使用isin:df2.loc[~df1.A.isin(df2.A)]    A   B2   A3  B2
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python