2012-09-25 10 views
10

Ich möchte eine TimeSeries in der täglichen (genau 24 Stunden) Frequenz ab einer bestimmten Stunde neu abtasten.Stündliche TimeSeries mit bestimmter Startstunde umrechnen

Like:

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') 

Ergebnis i erhalten:

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

Ergebnis Ich wünsche:

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

Vor einigen Wochen Sie '24H' zum freq Argument übergeben konnte und es funktionierte völlig fein. Aber jetzt verbindet es '24H' mit '1D'.

Wurde ein Fehler mit '24H' behoben, der jetzt behoben ist? Und wie kann ich das gewünschte Ergebnis in einem effizienten und Python (oder Pandas) zurück bekommen?

Versionen:

  • Python 2.7.3
  • Pandas 0.9.0rc1 (aber nicht auch in 0.8.1 arbeiten)
  • numpy 1.6.1

Antwort

16

Resample hat ein base Argument, das diesen Fall abdeckt:

Ausgabe:

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

Vielen Dank! Ich habe diese Parameterdokumentation nicht verstanden und dachte, dass sie für Upsampling-Fälle hinzugefügt wurde. – MaM

+0

@MaM Ich stimme dir zu. Die Dokumentation benötigt in diesem Fall ein gutes Beispiel. –

Verwandte Themen