2012-09-25 4 views
10

特定の時間に開始する毎日(正確には24時間)の頻度でTimeSeriesを再サンプリングしたいとします。時間単位のリサンプル特定の開始時間を持つ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 

数週間前に、あなたがfreq引数に'24H'を渡すことができますし、それは完全に働きました良い。 しかし今では'24H''1D'を組み合わせています。

'24H'のバグを修正しましたか? そして、私はどのように効率的でpythonic(またはパンダ)の方法で希望の結果を得ることができますか?

バージョン:

  • のpython 2.7.3
  • パンダ0.9.0rc1(あまりにも、0.8.1では動作しません)
  • numpyの1.6.1

答えて

16

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 
+1

ありがとうございます!私はそのパラメータのドキュメントを理解しておらず、アップサンプリングの場合に追加されたと考えました。 – MaM

+0

@MaM私はあなたに同意します。この場合のドキュメントには良い例が必要です。 –

関連する問題