2012-09-25 16 views
10

के साथ प्रति घंटा टाइमसरीज का पुनरुत्पादन करें मैं एक निश्चित समय से शुरू होने पर दैनिक (बिल्कुल 24 घंटे) आवृत्ति में एक टाइमरीज़ को दोहराना चाहता हूं।कुछ शुरुआती घंटे

तरह:

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' के साथ एक बग का उपयोग कर रहा था जो अब तय है? और मैं एक कुशल और पायथनिक (या पांडा) तरीके से कामयाब परिणाम कैसे प्राप्त कर सकता हूं?

संस्करणों:

  • अजगर 2.7.3
  • पांडा 0.9.0rc1 (लेकिन 0.8.1 में काम नहीं करता है, भी)
  • numpy 1.6.1

उत्तर

16

Resamplebase तर्क है जो इस मामले को कवर करता है:

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

@ एमएएम मैं आपसे सहमत हूं। इस मामले में दस्तावेज एक अच्छा उदाहरण की जरूरत है। –

संबंधित मुद्दे