【发布时间】:2014-10-04 11:48:22
【问题描述】:
我正在尝试获得一种相当基本的重采样方法来处理 pandas 数据框。我的数据框 df 由日期时间条目索引并包含价格
price
datetime
2000-08-16 09:29:55.755000 7.302786
2000-08-16 09:30:10.642000 7.304059
2000-08-16 09:30:26.598000 7.304435
2000-08-16 09:30:41.372000 7.304314
2000-08-16 09:30:56.718000 7.304334
我想将其缩减为 5 分钟。使用
df.resample(rule='5Min',how='last',closed='left')
在我的数据中以 5 分钟的倍数取最左边的点;类似
df.resample(rule='5Min',how='first',closed='left')
将关闭点移到右侧。 但是,我想采用左右点之间的线性插值,例如如果我的 df 包含两个连续的条目
time t1, price p1
time t2, price p2
和
t1<t<t2 where t is a multiple of 5min
那么重新采样的数据框应该有条目
time t, price p1+(t-t1)/(t2-t1)*(p2-p1)
【问题讨论】:
-
有一个similar question yesterday,但没有得到好的答案。
-
与此同时,其他问题得到了一些更好的答案,例如this one with .interpolate.
标签: python datetime pandas time-series