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.
Đầ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. –
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. –
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. –