以预定义的时间值进行采样

时间:2014-10-08 15:49:35

标签: python datetime numpy pandas timestamp

这是另一个问题的后续问题:Causal resampling: Sum over the last X <time_unit>

说我有以下时间序列:

                                   money_spent
timestamp                 
2014-10-06 18:00:40.063000-04:00      0.568000
2014-10-06 18:00:41.361000-04:00      3.014770
2014-10-06 18:00:42.896000-04:00      0.878154
2014-10-06 18:00:43.040000-04:00      0.723077
2014-10-06 18:00:44.791000-04:00      0.723077
2014-10-06 18:00:45.496000-04:00      0.309539
2014-10-06 18:00:45.799000-04:00      3.032000
2014-10-06 18:00:47.470000-04:00      3.014770
2014-10-06 18:00:48.092000-04:00      1.584616

我想抽样:

  • 预定义的时间点(例如,从{18}到19:00,每2.5秒的时间戳范围“
  • 对于每个样本,在该时间间隔内获得总和

使用示例

进行更新

例如,假设我生成一组预定义的时间戳,如下所示:

# Start at 18:00
start_time = datetime.datetime(year   = 2014, 
                               month  = 10, 
                               day    = 6, 
                               hour   = 18, 
                               tzinfo = pytz.timezone('US/Eastern')

# Finish 400 seconds later
end_time    = start_time + datetime.timedelta(seconds=400)

my_new_timestamps = pd.date_range(start = start_time, 
                                  end   = end_time, 
                                  freq  = '2.5s')

我希望通过获取my_new_timestamps总和,在money_spent定义的位置的帖子顶部重新采样原始数据框。

请注意,原始数据框仅涵盖〜 18:00:40 ,直到〜 18:00:48 ,所以如果我这样做:

resample('2.5S', how='sum', label='right')

上面的命令将在这两次之间的时间窗口上返回样本,并且在my_new_timestamps定义的开始和结束时间之间。它还会在2.5s区间内采样不同与我想要的区间(由my_new_timestamps定义的区间)。

0 个答案:

没有答案