У меня есть столбец строк даты и времени в UTC
, которые мне нужно преобразовать в жизнеспособный формат даты и времени в EST
, используя pandas
.Я успешно преобразовал колонку, однако я чувствую, что мое решение многословно и может быть упрощено, но я не уверен, как.Вот способ, которым я сейчас конвертирую даты:
df['datetime'] = pd.to_datetime(df['datetime'])
df['datetime'] = df['datetime'].dt.strftime('%m/%d/%Y %H:%M:%S')
df['datetime'] = pd.to_datetime(df['datetime'])
df['datetime'] = df['datetime'] - pd.Timedelta(hours=5)
Вот несколько примеров исходного формата строки:
2014-02-07T00:25:40Z
2014-02-07T00:25:40Z
2014-02-07T00:25:41Z
2014-02-07T00:25:42Z
2014-02-07T00:25:42Z
2014-02-07T00:25:43Z
2014-02-07T00:25:43Z
2014-02-07T00:25:44Z
2014-02-07T00:25:44Z
2014-02-07T00:25:44Z
Могу ли я преобразовать этот столбец с одним или двумялинии?Я попытался выполнить Timedelta()
в том же шаге, что и форматирование даты и времени, но получил ошибку.В качестве альтернативы я попытался использовать tz_convert()
и tz_localize()
, но получил сообщение об ошибке tz_convert()
, в котором говорилось, что мой datetime не является жизнеспособным форматом datetime (поэтому я и после форматирования переустановил столбец на datetime).С tz_localize()
он просто добавил -5:00
к концу моего времени даты вместо того, чтобы фактически вычитать 5 часов из времени UTC
.
Вот как должен выглядеть результат:
2014-02-06 19:25:40
2014-02-06 19:25:40
2014-02-06 19:25:41
2014-02-06 19:25:42
2014-02-06 19:25:42
2014-02-06 19:25:43
2014-02-06 19:25:43
2014-02-06 19:25:44
2014-02-06 19:25:44
2014-02-06 19:25:44