[英]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.