是否有任何方法可以使indicator
的pd.merge
选项显示数据框名称,而不是“ left_only”和“ right_only”?即显示“ df1_only”而不是“ left_only”?我知道可以使用下面的代码来完成此操作,但我想知道是否有更简单的方法。
df = pd.merge(df1, df2, on='id', indicator='check')
df['check'] = df['check'].str.replace('left_only','df1_only').str.replace('right_only','df2_only')
一个python对象可以绑定到许多名称。实际上,函数中对数据帧的引用名称可能类似于left
和right
,而不是df1
和df2
。 Pandas无法知道您要使用的名称,因为它无法查看调用方名称空间(至少没有跳过一些壮观的循环)。
您建议的解决方案是正确的。只需用任意选择的字符串替换left
和right
。