.dt.strftime возвращает неправильные даты Pandas - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть pandas фрейм данных со столбцом CreatedDate. В настоящее время значения столбца выглядят следующим образом:

id      CreatedDate
123     1586362930000
124     1586555550000

Требуемый вывод:

id      CreatedDate
123     2020-04-08T15:50:00Z
124     2020-04-08T15:45:00Z

Я пробовал следующее:

# Change the column type from int to datetime64[ns]
df['CreatedDate'] = pd.to_datetime(df['CreatedDate'])

new_df = df['CreatedDate'].dt.strftime("%Y-%m-%d"+"T"+"%H:%M:%S"+"Z")

Вывод это:

id      CreatedDate
123     1970-01-01 00:26:26.362930
124     1970-01-01 00:26:26.365487

Это не то, чего я ожидал, я точно знаю, что эти дни должны быть 8 апреля. Я протестировал dt.strftime("%Y-%m-%d"+"T"+"%H:%M:%S"+"Z") только с строкой, и он возвращает желаемый результат, однако, когда я применяю его к кадру данных, он не работает должным образом

1 Ответ

3 голосов
/ 09 апреля 2020

Это unix время

pd.to_datetime(df.CreatedDate,unit='ms').dt.strftime("%Y-%m-%d""T""%H:%M:%S""Z")

0    2020-04-08T16:22:10Z
1    2020-04-10T21:52:30Z
Name: CreatedDate, dtype: object
...