在特定的开始时间对每小时的TimeSeries重新采样

发布于 2021-01-29 18:38:28

我想每天从某个小时开始(每天24小时)对TimeSeries进行重新采样。

喜欢:

index = date_range(datetime(2012,1,1,17), freq='H', periods=60)

ts = Series(data=[1]*60, index=index)

ts.resample(rule='D', how='sum', closed='left', label='left')

结果我得到:

2012-01-01  7
2012-01-02 24
2012-01-03 24
2012-01-04  5
Freq: D

结果我希望:

2012-01-01 17:00:00 24
2012-01-02 17:00:00 24
2012-01-03 17:00:00 12
Freq: D

几个星期前,你可以传递'24H'freq参数,它的工作完全罚款。但现在它合并'24H''1D'

我是否正在使用已修复的错误'24H'?我如何才能以高效且pythonic(或大熊猫)的方式获得期望的结果?

版本:

  • python 2.7.3
  • 熊猫0.9.0rc1(但在0.8.1中也不起作用)
  • numpy 1.6.1
关注者
0
被浏览
52
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    重采样有一个base涉及这种情况的参数:

    ts.resample(rule='24H', closed='left', label='left', base=17).sum()
    

    输出:

    2012-01-01 17:00:00    24
    2012-01-02 17:00:00    24
    2012-01-03 17:00:00    12
    Freq: 24H
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看