我有每小时数据,我需要通过简单地重复这些值将其插入到 10 分钟数据中:
data=[('2014-02-24 16:00:00', 55)
,('2014-02-24 17:00:00', 40)
,('2014-02-24 18:00:00', 68)]
df=pd.DataFrame(data,columns=['DateTime','Value'])
我需要得到以下结果:DateTime Value
2014-02-24 16:00:00 55
2014-02-24 16:10:00 55
2014-02-24 16:20:00 55
...
2014-02-24 17:00:00 40
2014-02-24 17:10:00 40
2014-02-24 17:20:00 40
...
我知道可以通过这种方式重新采样数据 minutes=df.resample('10Min',on='DateTime').mean()
.但是我怎样才能做上面显示的简单插值呢?
最佳答案
使用 Resampler.ffill
与 DatetimeIndex
合作:
df['DateTime'] = pd.to_datetime(df['DateTime'])
minutes=df.set_index('DateTime').resample('10Min').ffill()
print (minutes)
Value
DateTime
2014-02-24 16:00:00 55
2014-02-24 16:10:00 55
2014-02-24 16:20:00 55
2014-02-24 16:30:00 55
2014-02-24 16:40:00 55
2014-02-24 16:50:00 55
2014-02-24 17:00:00 40
2014-02-24 17:10:00 40
2014-02-24 17:20:00 40
2014-02-24 17:30:00 40
2014-02-24 17:40:00 40
2014-02-24 17:50:00 40
2014-02-24 18:00:00 68
关于python - 如何通过复制值进行插值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69357415/