我正在将两个数据框合并到公共标题“ COUNTERPARTYNAME”下。因此,以下是我的df5的示例:
CONTRACT COUNTERPARTYNAME TERM
0 450 A 300
1 400 A 350
2 270 B 600
3 360 C 300
...
和df6:
COUNTERPARTYNAME CBA DAN
0 A 500 10
1 B 300 3
2 C 400 9
3 D 650 10
...
但是基本上两个数据帧都共享COUNTERPARTYNAME,但是df5中某些cpty的倍数。我正在尝试将两者合并,以便将它们合并到新的df中,并且对于每个cpty,CBA和DAN都会显示在其旁边,包括倍数。
我的预期结果如下:
CONTRACT COUNTERPARTYNAME TERM CBA DAN
0 450 A 300 500 10
1 400 A 350 500 10
2 270 B 600 300 3
3 360 C 300 400 9
...
我了解如何将它一对一地合并,就像在df5中只有一个A,B,C等...,就像在df6中一样。
但是,当我尝试过:
df7=pd.merge(df5, df6),
希望他们将在COUNTERPARTYNAME上合并,然后打印出来,我在某些cpty上的许多数据消失了,而其他cpty的弹出次数超过了他们在df5中实际显示的次数。例如,我在df5中有2个A和2个B,但是当我合并时,由于某种原因,我现在有0个A,就像6个B。 CBA和DAN是正确的,并且是相对应的,但是我觉得由于某些原因我丢失了一些数据。有没有办法解决这个问题?我执行的合并类型错误吗?
答案 0 :(得分:0)
您需要明确说明要合并的列。另外,您还必须使用merge,如下所示。
df7 = df5.merge(df6, on=['COUNTERPARTYNAME'])
输出:
CONTRACT COUNTERPARTYNAME TERM CBA DAN
0 450 A 300 500 10
1 400 A 350 500 10
2 270 B 600 300 3
3 360 C 300 400 9