Python 合并两个具有原点的数据帧

Python 合并两个具有原点的数据帧,python,pandas,merge,merging-data,Python,Pandas,Merge,Merging Data,假设我有以下两个数据帧df_1和df_2,并希望将它们与一个附加列合并,该列说明行是否存在于df_1、df_2或两者中。在使用“合并”时,是否有任何方法可以直接执行此操作 df_1 df_2 我想要的数据框是: 使用参数指示器,并通过dict为预期输出添加: df = pd.merge(df1, df2, how='outer', indicator='origin') print (df) Index x y origin 0 20 5 8 left

假设我有以下两个数据帧df_1和df_2,并希望将它们与一个附加列合并,该列说明行是否存在于df_1、df_2或两者中。在使用“合并”时,是否有任何方法可以直接执行此操作

df_1

df_2

我想要的数据框是:


使用参数
指示器
,并通过
dict
为预期输出添加:

df = pd.merge(df1, df2, how='outer', indicator='origin')
print (df)
   Index   x  y      origin
0     20   5  8   left_only
1     35   4  7   left_only
2     55   3  2        both
3     60  12  1        both
4     22   4  3  right_only
5     30  12  6  right_only

d = {'left_only':'1', 'right_only':'2', 'both':'1 & 2'}
df['origin'] = df['origin'].map(d)
print (df)
   Index   x  y origin
0     20   5  8      1
1     35   4  7      1
2     55   3  2  1 & 2
3     60  12  1  1 & 2
4     22   4  3      2
5     30  12  6      2

如果我的答案有用,别忘了-点击复选标记(
),将其从灰显切换为填充。谢谢