2017-03-16 82 views
2
a1 = pd.DataFrame({'A': [1,2,3], 'B': [2,3,4]}) 
b2 = pd.DataFrame({'A': [1,4], 'B': [3,6]}) 

,我想獲得如何合併和更新2個Dataframes

c = pd.DataFrame({'A': [1,2,3,4], 'B': [3,3,4,6]}) 

A1和B2在key='A' 合併,但是當 'A' 相同,但b處,得到B2值

如何我可以得到這份工作嗎?不知道。

回答

2

首先串連下彼此都dataframes得到一個大的數據幀:

c = pd.concat([a1, b2], 0) 


    A B 
0 1 2 
1 2 3 
2 3 4 
0 1 3 
1 4 6 

然後在列A組只得到A的獨特的價值觀,用你最後確認時相比,有一個重複使用b2的值。這給出:

c = c.groupby('A').last() 


    B 
A 
1 3 
2 3 
3 4 
4 6 

然後設置重置索引以獲得一個很好的數字索引。

c = c.reset_index() 

返回:

A B 
0 1 3 
1 2 3 
2 3 4 
3 4 6 

做這一切一氣呵成只需輸入以下代碼行:

c = pd.concat([a1, b2], 0) 
c = c.groupby('A').last().reset_index() 
+0

完美!非常感謝!:) –