在pandas中合并两个具有相同索引的数据帧

时间:2016-04-21 08:45:12

标签: python pandas

我有两个数据框。我需要加入它们,以便在两个数据框中具有相同名称的索引连接成一个并且它们的值相加。创建其他数据框中不存在的索引并插入其值。见下面的例子。

dataFrame1:

index   col1 col2 col3
A         3    0    4
C         4    1    2
D         3    5    6
G         3    0    0

dataFrame2

index   col1 col2 col3
A         1    1    3
B         4    4    1
C         1    3    0
E         0    2    1
F         1    3    2

我需要以下结果:

index   col1 col2 col3
A         4    1    7
B         4    4    1
C         5    4    2
D         3    5    6
E         0    2    1
F         1    3    2
G         3    0    0

我怎么能这样做是熊猫? 注意:除非两个数据框中的值为零或NaN,否则不应将任何值视为零。

1 个答案:

答案 0 :(得分:2)

我认为您可以add使用combine_firstastype投射到int

print df1
       col1  col2  col3
index                  
A         3     0     4
C         4     1     2
D         3     5     6
G         3     0     0

print df2
       col1  col2  col3
index                  
A         1     1     3
B         4     4     1
C         1     3     0
E         0     2     1
F         1     3     2

print df1.add(df2).combine_first(df1).combine_first(df2).astype(int)
       col1  col2  col3
index                  
A         4     1     7
B         4     4     1
C         5     4     2
D         3     5     6
E         0     2     1
F         1     3     2
G         3     0     0