2016-04-21 91 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