chcę zakres pandy okres 25 godzin offset, i widziałem, istnieją dwa sposoby, aby to zrobić (patrz here):Pandy `period_range` daje dziwne wyniki
Pierwszym sposobem jest użycie freq=25H
, co ja próbował, i dał mi właściwą odpowiedź:
import pandas as pd
pd.period_range(start='2016-01-01 10:00', freq = '25H', periods = 10)
a wynik jest
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')
drugi sposób, z użyciem freq=1D1H
jednak dał mi szczura jej dziwny wynik:
pd.period_range(start='2016-01-01 10:00', freq = '1D1H', periods = 10)
i mam
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')
Więc może 1D1H
nie jest prawidłowy sposób, aby określić częstotliwość? jak pojawił się 1971
? (Próbowałem też używać jako wykorzystanie 1D1H
częstotliwości dla metody date_range()
, który pozwolił uzyskać właściwą odpowiedź.)
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: wydaje się, że z period_range()
, choć freq=1D1H
nie działa, freq=1H1D
robi. Powód jest wciąż nieznany.
EDIT2: został zidentyfikowany jako błąd, zobacz odpowiedź poniżej.
Wydaje się, że dane wyjściowe wydają się błędne dla danych wejściowych, ale gdzie widzisz, że dane wejściowe są legalne? Nigdy nie widziałem takiej dwufazowej specyfikacji częstotliwości. –
Jest to z samouczka serii pandy z scipy 2016, notebook jest [tutaj] (https://github.com/AileenNielsen/TimeSeriesAnalysisWithPython/blob/master/1.%20Dates%20%26%20Times.ipynb). Jeśli szukasz '1d1h', możesz znaleźć dokładną lokalizację. –
OK, dodano go do pytania. Ogólnie rzecz biorąc, możesz chcieć połączyć się ze źródłami, na których opierasz pytanie. –