我有每小时的数据,我需要通过简单地重复这些值将其插值到 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'])
Run Code Online (Sandbox Code Playgroud)
我需要得到以下结果:
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
...
Run Code Online (Sandbox Code Playgroud)
我知道可以通过这种方式对数据进行重新采样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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |