熊猫数据框与更新数据合并

Art*_*nov 5 python merge dataframe pandas

我有两个DataFrame:

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
Run Code Online (Sandbox Code Playgroud)

需要合并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
Run Code Online (Sandbox Code Playgroud)

jez*_*ael 5

您可以使用concatdrop_duplicatesdate,并保持最后的值:

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
Run Code Online (Sandbox Code Playgroud)