2016-04-21 119 views
0

我有两个数据帧。我需要将它们连接起来,以便将这两个数据框中具有相同名称的索引合并为一个,并将它们的值相加。创建其他数据框中不存在的索引并插入其值。看下面的例子。在熊猫中合并两个具有相同索引的数据帧

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,否则不应将值视为零。

+0

的[添加两只大熊猫dataframes]可能的复制(http://stackoverflow.com/questions/11106823/adding-two -pandas-dataframes) –

回答

2

我认为你可以使用addcombine_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