2017-02-09 88 views
2

我哈威2个数据帧:熊猫据帧与更新数据合并

df1 = pd.DataFrame({'date':['2017-01-01','2017-01-02','2017-01-03','2017-01-04','2017-01-05'], 'value':[1,1,1,1,1]}) 
df2 = pd.DataFrame({'date':['2017-01-04','2017-01-05','2017-01-06','2017-01-07','2017-01-08'], 'value':[2,2,2,2,2]}) 

date  value  date  value   
2017-01-01  1  2017-01-04  2 
2017-01-02  1  2017-01-05  2 
2017-01-03  1  2017-01-06  2 
2017-01-04  1  2017-01-07  2 
2017-01-05  1  2017-01-08  2 

需要合并DF1DF2,得到如下结果:

date  value 
2017-01-01  1 
2017-01-02  1 
2017-01-03  1 
2017-01-04  2 
2017-01-05  2 
2017-01-06  2 
2017-01-07  2 
2017-01-08  2 

回答

2

您可以使用concatdrop_duplicates通过date列,并保持最后的值:

print (pd.concat([df1, df2]).drop_duplicates('date', keep='last')) 
     date value 
0 2017-01-01  1 
1 2017-01-02  1 
2 2017-01-03  1 
0 2017-01-04  2 
1 2017-01-05  2 
2 2017-01-06  2 
3 2017-01-07  2 
4 2017-01-08  2 
+0

非常感谢您的快速响应 - 它的工作原理! –