Ошибка значения: данные о времени не соответствуют заданному формату

#python #pandas

Вопрос:

 df_time = pd.DataFrame({'DOB': {0: '12FEB20210017', 1: '18AUG20210019'}})  df_time['DOB'] = pd.to_datetime(df_time.DOB,format='%d%b%Y%H:%M:%S')  

Ошибка значения: данные о времени «12FEB20210017» не соответствуют формату «%d%b%Y:%H:%M:%S » (совпадение)

Я не понимаю проблемы с форматом

Комментарии:

1. Даже если я добавлю » 00 » в конце, это приведет к той же ошибке.

2. У вас нет двоеточий во входных строках, но вы говорите пандам, что в вашей входной строке есть двоеточия в полях %H:%M:%S. Попробуй: df_time.DOB,format='%d%b%Y%H%M%S'

3. Удаление двоеточий исправило проблему. Спасибо

Ответ №1:

Формат требовал небольшого изменения.

 import pandas as pd  df_time = pd.DataFrame({'DOB': {0: '12FEB20210017', 1: '18AUG20210019'}})  #df_time['DOB'] = df_time['DOB'].str.lower()  df_time['DOB'] = pd.to_datetime(df_time.DOB,format='%d%b%Y%H%M')  

Комментарии:

1. Это тот результат, которого я жду. Спасибо

2. Проверьте, действительно ли у вас есть секунды в ваших данных. Я думаю, у тебя есть только часы и минуты. если это 12FEB20210017 0-й час и 17-я минута, используйте мой ответ. (вам не нужны %S в конце).

3. Да, в моих данных нет секунд

Ответ №2:

как упоминалось в комментариях ,сообщение об ошибке ясно, и ваш формат данных должен быть таким :

 import pandas as pd  df_time = pd.DataFrame({'DOB': {0: '12FEB20210017', 1: '18AUG20210019'}}) df_time['DOB'] = pd.to_datetime(df_time.DOB,format='%d%b%Y%H%M%S')  df_time  

выход:

 gt;  DOB 0 2021-02-12 00:01:07 1 2021-08-18 00:01:09