如何向后重采样pandas数据帧

时间:2017-10-27 19:40:32

标签: python pandas resampling

您好我正在尝试向后重新取样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中从后向前进的平均值的值。例如在这 case的最后一个值应该是

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

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

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

感谢您的帮助

0 个答案:

没有答案
相关问题