简体   繁体   English

Pandas 填充最近日期的值

[英]Pandas Fill values from most recent dates

I have two dataframes, and I want to add the values from the first dataframe to the second one based on the most recent date that was found.我有两个数据框,我想根据找到的最新日期将第一个 dataframe 的值添加到第二个数据框。 Is there a built in method in pandas to do it? pandas 中是否有内置方法可以做到这一点?

Sample code:示例代码:

df1 = pd.DataFrame( {'Time': pd.to_datetime(['1-1-2018', '1-1-2019']), 'Value':[1,2]})
df2 = pd.DataFrame( {'Time': pd.to_datetime(['1-23-2018', '1-22-2019'])} )
df3 = pd.DataFrame( {'Time': pd.to_datetime(['1-23-2018', '1-22-2019']), 'Value':[1,2]} )

display(df1)
display(df2)
print()
print('how to get df3 from df1 and df2?')
display(df3)

示例代码的输出

merge_asof provides capability you want merge_asof提供您想要的功能

df1 = pd.DataFrame( {'Time': pd.to_datetime(['1-1-2018', '1-1-2019']), 'Value':[1,2]})
df2 = pd.DataFrame( {'Time': pd.to_datetime(['1-23-2018', '1-22-2019'])} )
pd.merge_asof(df2, df1, on="Time")
Time时间 Value价值
0 0 2018-01-23 00:00:00 2018-01-23 00:00:00 1 1
1 1 2019-01-22 00:00:00 2019-01-22 00:00:00 2 2

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM