Панды: преобразование метки времени в дату и время - PullRequest
1 голос
/ 02 апреля 2019

У меня есть столбец строк даты и времени в 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

1 Ответ

1 голос
/ 02 апреля 2019

я сделаю tz_localize и tz_localize

pd.to_datetime(df.date).dt.tz_localize('UTC').\
     dt.tz_convert('EST').\
      dt.strftime('%Y-%m-%d %H:%M:%S')
0    2014-02-06 19:25:40
1    2014-02-06 19:25:41
2    2014-02-06 19:25:42
3    2014-02-06 19:25:42
4    2014-02-06 19:25:43
5    2014-02-06 19:25:43
6    2014-02-06 19:25:44
7    2014-02-06 19:25:44
8    2014-02-06 19:25:44
Name: date, dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...