根据两个不同数据帧中的重复键合并数据帧

时间:2019-07-30 09:03:31

标签: python pandas merge

我有两个数据帧A和B,它们是以下类型的

A:
col1    col2    
abc     Pid1     
cdz     Pid1

B:
col2    value
Pid1    2
Pid1    3
Pid1    4

Desired Output:
col1   col2   value
abc    Pid1   2
abc    Pid1   3
abc    Pid1   4
cdz    Pid1   2
cdz    Pid1   3
cdz    Pid1   4

我尝试了合并(外部联接),但是没有得到想要的结果

请咨询

提前谢谢

1 个答案:

答案 0 :(得分:2)

简单的外部合并:

A = pd.DataFrame({'col1':['abc', 'cdz'], 'col2':['Pid1', 'Pid1']})

print(A)
    col1 col2
0   abc  Pid1
1   cdz  Pid1
B = pd.DataFrame({'col2':['Pid1', 'Pid1','Pid1'], 'value':['2','3','4']})

print(B)

    col2  value
0   Pid1    2
1   Pid1    3
2   Pid1    4
C = A.merge(B, on='col2', how = 'outer', indicator = True)

print(C)

    col1 col2 value _merge
0   abc  Pid1   2    both
1   abc  Pid1   3    both
2   abc  Pid1   4    both
3   cdz  Pid1   2    both
4   cdz  Pid1   3    both
5   cdz  Pid1   4    both