如何反向重采样pandas数据帧

2024-06-01 00:32:05 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我正在尝试重新采样熊猫数据帧向后。 这是我的数据帧:

seconds     = np.arange(20, 700, 60)
timedeltas  = pd.to_timedelta(seconds, unit='s')
vals        = np.array([randint(-10,10) for a in range(len(seconds))])
df  = pd.DataFrame({'values': vals}, index = timedeltas)

那我有

^{pr2}$

以及

In [253]: df.resample('5min').mean()
Out[253]: 
          values
00:00:20     6.6
00:05:20    -0.8
00:10:20    -7.5

我想要的是

Out[***]: 
          values
00:01:20    6
00:06:20    valb
00:11:20    -5.8

其中,每个新时间的值是如果我回滚数据帧并计算每个bin中从向后到向前的平均值。例如 case最后一个值应该是

valc = (-6-3-5-5-10)/5.
valc= -5.8

这是最后5个值的平均值,第一个值应该是前两个值的平均值,因为“bin”是不完整的。在

在阅读pandas文档时,我认为我必须使用参数how='last',但在我当前的pandas版本中,这不起作用(版本0.20.3)。此外,我尝试了选项关闭约定,但我无法执行此操作。在

谢谢你的帮助


Tags: 数据版本pandasdfbinnpout平均值