Python 熊猫数据帧:使用线性插值重新采样

Python 熊猫数据帧:使用线性插值重新采样,python,datetime,pandas,time-series,Python,Datetime,Pandas,Time Series,我试图得到一个相当基本的重采样方法来处理熊猫数据帧。我的数据帧df由datetime条目索引并包含价格 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

我试图得到一个相当基本的重采样方法来处理熊猫数据帧。我的数据帧df由datetime条目索引并包含价格

                               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


尝试创建两个单独的数据帧,
reset_index
它们(因此它们具有相同的数字索引),
fillna
它们,然后对df1和df2进行计算。e、 g:

df1 = df.resample(rule='5Min',how='last',closed='left').reset_index().fillna(method='ffill')
df2 = df.resample(rule='5Min',how='first',closed='left').reset_index().fillna(method='ffill')

dt = df1.datetime - df2.datetime
px_fld = df1.price + ...

像这样的问题应该可以解决问题。

有一个问题,但没有得到一个好的答案。同时,另一个问题得到了一些更好的答案,例如,谢谢你的回答。但是,dt=df1.datetime-df2.datetime没有定义。这是什么意思?它是在
dt=df1.datetime-df2.datetime
中定义的,或者您是指其他内容吗?对不起,我的意思是,由于我们使用了重置索引,df1.datetime给出了一个错误。然而,仅仅使用df1['index']就可以完全按照您所说的那样工作。非常感谢!啊,我明白了。我在想,因为最初的df将“datetime”作为索引名,它将继续使用。很抱歉,但很高兴你找到了答案。我也需要这样做,但由于答案不完整,我遇到了麻烦。我的尝试是这样的
val=df1.value+(df0.timestamp-df1.timestamp)/(df2.timestamp-df1.timestamp)*(df2.value-df1.value)
。我看不出df1.datetime-df2.datetime有什么用处。
time t, price p1+(t-t1)/(t2-t1)*(p2-p1)
df1 = df.resample(rule='5Min',how='last',closed='left').reset_index().fillna(method='ffill')
df2 = df.resample(rule='5Min',how='first',closed='left').reset_index().fillna(method='ffill')

dt = df1.datetime - df2.datetime
px_fld = df1.price + ...