20

特定の時間から始まる毎日 (正確に 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(またはパンダ)な方法で希望の結果を得ることができますか?

バージョン:

  • パイソン2.7.3
  • pandas 0.9.0rc1 (ただし、0.8.1 でも動作しません)
  • numpy 1.6.1
4

3 に答える 3

29

Resampleには、このケースをカバーする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
于 2012-09-25T09:56:24.167 に答える