【发布时间】:2021-12-23 23:31:22
【问题描述】:
我有一个带有 1 列和一个基于时间的索引的 pandas 数据框。我想每两秒重新采样一次数据并计算列中值的平均值。这是一个例子:
index = pd.date_range('1/1/2000', periods=10, freq='S')
data = {'value':[23,23,12,14,14,57,67,32,56,89]}
series = pd.DataFrame(data, index=index)
上面的代码给出了这个结果。
现在,我计算每两秒的平均值。
series['resample_value'] =
series['value'].resample('2S').mean()
这给了我如下图所示的结果。
但我希望得到如图 3 所示的结果。我希望将计算出的平均值放回未重新采样的原始数据帧中。如何获得?
提前致谢。
【问题讨论】:
-
下面我的回答能满足你的需要吗?
-
@AndersKällmar,嘿,是的。对于上述问题,效果很好。但我也找到了另一种解决方案,即重采样和前向填充。
-
我正在考虑该解决方案以及查看您上次的编辑,前向填充变体也快一点,但它真的很接近(只是做了一些测试)。
标签: python pandas dataframe time-series pandas-timeindex