Как преобразовать данные в столбце в формат datetime?
Столбец datetime
содержит данные даты и времени в формате "Jun 29 2023 09:36:44.933"
.
Мне нужно привести его к формату "29-06-2023 09:36:45"
, но следующий способ не работает:
date_time_str = 'Jun 29 2023 09:36:45.002'
df['timestamp'] = datetime.strptime(date_time_str, '%m:%d:%Y %H:%M:%S.%f')
На выходе получаю ошибку:
time data 'Jun 29 2023 09:36:45.002' does not match format '%m:%d:%Y %H:%M:%S.%f'
Ответы (1 шт):
Автор решения: kristal
→ Ссылка
Конечно вы будете получать ошибку т.к. вы указали неверно формат. Верным в вашем случае будет:
%b %d %Y %H:%M:%S.%f
Из неправильного дата у вас была разделена пробелами(Jun 29 2023
), а не двоеточиями как вы указали тут:
%m:%d:%Y %H:%M:%S.%f
^ ^
Ещё из неверного вы использовали %m
(указывает номер месяца: 01,02,...,12) вместо необходимого %b
(указывает сокращенное название месяца, например Jun
). Ну и в общем-то получаем:
from datetime import datetime
date_time_str = 'Jun 29 2023 09:36:45.002'
timestamp = datetime.strptime(date_time_str, '%b %d %Y %H:%M:%S.%f')
print(timestamp) # > 2023-06-29 09:36:45.002000