Pandas数据帧与更新d合并

2024-04-25 00:19:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧:

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以获得以下结果:

^{pr2}$

Tags: 数据dataframedatevaluepddf1df2pr2
2条回答

您可以将^{}^{}按列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

我相信你可以使用熊猫内置的combine_first命令。在

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.combine_first.html

在这种情况下你会这样做的

df3=df1。先组合_(df2)

我不确定它是否能在你用一个整数替换一个整数的情况下工作,或者如果你需要一个NaN值。在

相关问题 更多 >