繁体   English   中英

在 Python 中合并两个数据帧后,如何找到未成功合并的数据帧行?

[英]After merging two dataframes in Python, how do I find the dataframe rows that were not successfully merged?

在使用 Pandas 对两个数据帧进行左合并后,我想生成一个数据帧,其中包含未成功合并的第二个/右数据帧的行。

数据框 df1 和 df2 基于两列合并,标题为 City 和 State。 我这样做是为了生成合并的数据框 df3:

merged_df = pd.merge(df1, df2, how="left", left_on=['City','State'], right_on=['City','State'])

如何生成由未成功匹配并与 df1 合并的 df2 行组成的 unmerged_df?

谢谢你的帮助!

您想要正确的排除连接。

检查这个答案

在您的情况下,它应该像这样简单(未经测试):

right_outer_df = (df1.merge(df2, on=['City','State'], how='right', indicator=True)
     .query('_merge == "right_only"')
     .drop('_merge', 1))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM