2016-07-31 27 views
5

Tôi muốn có một phạm vi thời gian gấu trúc với 25 giờ bù đắp, và tôi thấy có hai cách để làm điều này (xem here):Pandas 'period_range` cho kết quả kỳ lạ

Cách đầu tiên là sử dụng freq=25H, mà tôi cố gắng, và đã cho tôi câu trả lời đúng:

import pandas as pd 
pd.period_range(start='2016-01-01 10:00', freq = '25H', periods = 10) 

và kết quả là

PeriodIndex(['2016-01-01 10:00', '2016-01-02 11:00', '2016-01-03 12:00', 
      '2016-01-04 13:00', '2016-01-05 14:00', '2016-01-06 15:00', 
      '2016-01-07 16:00', '2016-01-08 17:00', '2016-01-09 18:00', 
      '2016-01-10 19:00'], 
      dtype='int64', freq='25H') 

cách thứ hai, sử dụng freq=1D1H, tuy nhiên, đã cho tôi một con chuột Kết quả cô lạ:

pd.period_range(start='2016-01-01 10:00', freq = '1D1H', periods = 10) 

và tôi đã nhận

PeriodIndex(['1971-12-02 01:00', '1971-12-02 02:00', '1971-12-02 03:00', 
       '1971-12-02 04:00', '1971-12-02 05:00', '1971-12-02 06:00', 
       '1971-12-02 07:00', '1971-12-02 08:00', '1971-12-02 09:00', 
       '1971-12-02 10:00'], 
      dtype='int64', freq='25H') 

Vì vậy, có lẽ 1D1H không phải là một cách hợp lệ để xác định tần số? làm thế nào để 1971 xuất hiện? (Tôi cũng cố gắng sử dụng sử dụng 1D1H như tần số đối với phương pháp date_range(), mà đã mang lại câu trả lời đúng.)

pd.date_range('2016-01-01 10:00', freq = '1D1H', periods = 10) 
DatetimeIndex(['2016-01-01 10:00:00', '2016-01-02 11:00:00', 
       '2016-01-03 12:00:00', '2016-01-04 13:00:00', 
       '2016-01-05 14:00:00', '2016-01-06 15:00:00', 
       '2016-01-07 16:00:00', '2016-01-08 17:00:00', 
       '2016-01-09 18:00:00', '2016-01-10 19:00:00'], 
       dtype='datetime64[ns]', freq='25H') 

EDIT: có vẻ như với period_range(), mặc dù freq=1D1H không hoạt động, freq=1H1D làm. Lý do vẫn chưa được biết.

EDIT2: lỗi này đã được xác định là lỗi, xem câu trả lời bên dưới.

+2

Đầu ra dường như lỗi cho đầu vào, phải thừa nhận, nhưng bạn đã thấy đầu vào này là hợp pháp ở đâu? Tôi chưa bao giờ thấy một đặc tả tần số hai hạn như thế này. –

+0

Nó là từ một loạt thời gian hướng dẫn gấu trúc từ scipy 2016, sổ ghi chép là [ở đây] (https://github.com/AileenNielsen/TimeSeriesAnalysisWithPython/blob/master/1.%20Dates%20%26%20Times.ipynb). Nếu bạn tìm kiếm '1d1h' bạn có thể tìm thấy vị trí chính xác. –

+0

OK, đã thêm nó vào câu hỏi. Nói chung, bạn có thể muốn liên kết đến các nguồn mà bạn đang đặt câu hỏi. –

Trả lời

5

Lỗi đã được xác định và reported on GitHub.

EDIT: A fix đã được hợp nhất và sẽ được đưa vào v0.19.

Các vấn đề liên quan