熊猫,来自2个DF的两列的总和

时间:2018-07-21 04:19:16

标签: python python-3.x pandas

我有两个数据帧,如下所示(样本数据):

df1:

Key1    Val1    Val2    Val3
A       2       1       3
B       2       2       2
C       3       3       4
D       4       4       2
E       5       6       5

df2:

Key1    Seasionality
A       1.2
B       -1
C       1
D       1.2
E       1.5

如何将Seasonality添加到df1 (val1, val2 , val3) where df1.key1 = df2.key1

所需的输出:

Key1    Val1    Val2    Vale
A       3.2     2.2     4.2
B       1       1       1
C       4       4       5
D       5.2     5.2     3.2
E       6.5     7.5     6.5

以前我有类似的要求,我需要使用相同的键添加来自两个不同df的列,但是它们具有相似的列名,因此我可以使用:

pd.concat([df1,df2]).groupby(level=0).sum()

但无法想到上述问题的解决方案。

1 个答案:

答案 0 :(得分:4)

一种可能的解决方案是临时对齐键:

df1.set_index('Key1', inplace=True)
df2.set_index('Key1', inplace=True)
df1 = df1.add(df2['Seasionality'], axis=0)
df1.reset_index(inplace=True)