Я использую pandas для преобразования строк в метки времени. У меня есть строка следующим образом: '2016-03-12 18:09:19 PST'
.Pandas to_datetime производит невозможное время
Если я сделать следующее:
pd.to_datetime('2016-03-12 18:09:19 PST')
я получаю:
Timestamp('2016-03-13 02:09:19')
Я не знаю, почему это происходит. Контраст с поведением:
pd.to_datetime('2016-03-12 18:09:19')
Который возвращает:
Timestamp('2016-03-12 18:09:19')
Обратите внимание, что время Timestamp('2016-03-13 02:09:19')
фактически не существует в США/тихоокеанскому времени. Если вы попытаетесь сделать pd.to_datetime('2016-03-12 18:09:19 PST').tz_localize('US/Pacific')
, вы получите NonExistentTimeError
.
Почему введение «PST» в конце строки вызывает вычитание 16 часов? Как получается, что to_datetime
может ввести невозможные даты?
Это не вычитание 16 часов, его добавление 8 (обратите внимание на изменение даты). Это сделало бы это время UTC. – Alexander