Я читаю CSV-файлы с неоднозначным местным временем - неоднозначно из-за перехода на летнее время.
Когда я применяю tz_localize()
Я запускаю следующую ошибку:
AmbiguousTimeError: There are %i dst switches when there should only be 1.
Вот мой код для воспроизведения ошибки. Обратите внимание, что с 2 до 3 часов утра каждая дата и время дублируются из-за перехода на летнее время.
index = pd.DatetimeIndex(['2018-10-28 01:00:00', '2018-10-28 01:15:00',
'2018-10-28 01:30:00', '2018-10-28 01:45:00',
'2018-10-28 02:00:00', '2018-10-28 02:00:00',
'2018-10-28 02:15:00', '2018-10-28 02:15:00',
'2018-10-28 02:30:00', '2018-10-28 02:30:00',
'2018-10-28 02:45:00', '2018-10-28 02:45:00',
'2018-10-28 03:00:00', '2018-10-28 03:15:00',
'2018-10-28 03:30:00', '2018-10-28 03:45:00',
'2018-10-28 04:00:00'], freq='infer')
data = list(range(len(index)))
df = pd.DataFrame(data=data,index=index)
df.index = df.index.tz_localize('Europe/Berlin', ambiguous='infer')
Я не совсем понимаю, почему ошибка возникает даже с параметром ambiguous='infer'
.
Должен ли мой фрейм данных каким-либо образом быть отсортирован?
Как создать отсортированные фреймы данных с помощью pd.read_csv()
Я хочу применить ambiguous='infer'
относительно порядка файла CSV. Именно я имею в виду: порядок неоднозначного формата времени помогает различаться между летним и зимним временем.
Я был бы рад за помощь в решении и более широкое объяснение. Я не мог найти много о том, как порядок может играть роль во фреймах данных - иногда ли это?