Я пытаюсь установить часовой пояс объекта DatetimeIndex, используя параметр ambiguous и заполняя его bool-ndarray, как описано в документации (https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.tz_localize.html):
Thisпохоже, не работает, потому что я все еще получаю Невозможно определить dst time ошибку, например, при использовании floor :
import pandas as pd
import numpy as np
dates = pd.date_range(start='2018-11-04', end = '2018-11-05', freq = 'min')
dates.tz_localize(tz='US/Central', ambiguous = np.ones((1441,), dtype=bool)).floor('H')
File "pandas\_libs\tslibs\conversion.pyx", line 963, in pandas._libs.tslibs.conversion.tz_localize_to_utc
AmbiguousTimeError: Cannot infer dst time from '2018-11-04 01:00:00', try using the 'ambiguous' argument
Однако, используя неоднозначный параметр с небулевым значением действительно работает:
dates.tz_localize(tz='US/Central', ambiguous = 'NaT').floor('H')
DatetimeIndex(['2018-11-04 00:00:00-05:00', '2018-11-04 00:00:00-05:00',
'2018-11-04 00:00:00-05:00', '2018-11-04 00:00:00-05:00',
'2018-11-04 00:00:00-05:00', '2018-11-04 00:00:00-05:00',
'2018-11-04 00:00:00-05:00', '2018-11-04 00:00:00-05:00',
'2018-11-04 00:00:00-05:00', '2018-11-04 00:00:00-05:00',
...
'2018-11-04 23:00:00-06:00', '2018-11-04 23:00:00-06:00',
'2018-11-04 23:00:00-06:00', '2018-11-04 23:00:00-06:00',
'2018-11-04 23:00:00-06:00', '2018-11-04 23:00:00-06:00',
'2018-11-04 23:00:00-06:00', '2018-11-04 23:00:00-06:00',
'2018-11-04 23:00:00-06:00', '2018-11-05 00:00:00-06:00'],
dtype='datetime64[ns, US/Central]', length=1441, freq=None)
Почему это так? Не могли бы вы объяснить, как использовать версию параметра bool?