嗨,我正在尝试向后重新采样pandas DataFrame . 这是我的数据帧:
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)
然后我有
In [252]: df
Out[252]:
values
00:00:20 8
00:01:20 4
00:02:20 5
00:03:20 9
00:04:20 7
00:05:20 5
00:06:20 5
00:07:20 -6
00:08:20 -3
00:09:20 -5
00:10:20 -5
00:11:20 -10
和
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中从后向前的平均值,那么每个新时间的值都是那些值 . 例如,在这种情况下,最后一个值应该是
valc = (-6-3-5-5-10)/5.
valc= -5.8
这是最后5个值的平均值,第一个值应该是唯一的2个第一个值的平均值,因为“bin”是不完整的 .
阅读pandas文档我认为我必须使用参数how = 'last'但在我当前版本的pandas中这不起作用(版本0.20.3) . 另外,我试着关闭和约定的选项,但我无法执行此操作 .
谢谢您的帮助