Проблема
У меня есть столбец в панде DataFrame, который содержит временные метки с часовыми поясами.В этом столбце присутствуют два разных часовых пояса, и я должен убедиться, что есть только один.Вот выходные данные конца столбца:
260003 2019-05-21 12:00:00-06:00
260004 2019-05-21 12:15:00-06:00
Name: timestamp, Length: 260005, dtype: object
Для чего бы то ни было, временные метки варьируются от -06:00
до -07:00
и имеют следующий вывод:
datetime.datetime(2007, 10, 1, 1, 0, tzinfo=tzoffset(None, -21600))
для -06:00
datetime.datetime(2007, 11, 17, 5, 15, tzinfo=tzoffset(None, -25200))
для -07:00
Что я сделал
Я пытался использовать tz.localize и tz.convert, которые хорошо работали вв прошлом, но я полагаю, что данные имели только один часовой пояс.Например, если я сделаю:
df['timestamp'].dt.tz_localize('MST', ambiguous='infer').dt.tz_convert('MST')
Я получу:
ValueError: Array must be all same time zone
During handling of the above exception, another exception occurred:
ValueError: Tz-aware datetime.datetime cannot be converted to datetime64 unless utc=True
Вопрос
Есть ли способ конвертировать их в MST?Или любой часовой пояс, правда?Я думаю, я мог бы разбить DataFrame по часовым поясам (не уверен на 100%, как, но я представляю, что это возможно) и действовать на куски этого, но я решил, что я хотел бы посмотреть, есть ли более разумное решение там.Спасибо!