#python-3.x #pandas
#python-3.x #панды
Вопрос:
У меня есть два формата дат в формате csv
2019-08-11 07:43:28.977 (date1)
и
2019-08-11 06:30:00 (date2)
Я использовал следующую команду для преобразования первой, и она успешно преобразовалась
contests['date1'] = pd.to_datetime(contests['date1'], format = '%Y-%m-%d %H:%M:%S')
Но когда я пытаюсь выполнить ту же команду для даты 2, она выдает мне ошибку
OutOfBoundsDatetime: Out of bounds nanosecond timestamp
но миллисекунд нет, и я не указал их в формате. Каким должен быть правильный format
для меня анализ этого формата даты?
РЕДАКТИРОВАТЬ
date1
и date2
— это отдельные столбцы. для этой конкретной даты в столбце date2 формат не работает 219-03-28 09:36:32
Комментарии:
1. Как работает, если использовать только
contests['date1'] = pd.to_datetime(contests['date1'])
?2. Для меня все работает хорошо
parse_dates=['date1']
параметр дляpd.read_csv
3. Я могу конвертировать
date1
.date2
в чем проблема4. хммм, возможно ли совместное использование даты и времени, которое вызывает ошибку?
5.
2019-08-11 07:43:28.977
. пожалуйста, объявите это как строку и попробуйте преобразовать ее в datetime с помощьюpandas.to_datetime
функции
Ответ №1:
Вы можете просто преобразовать с помощью to_datetime(df['B'])
, не указывая конкретный формат, и он распознает формат.
Если вы хотите определить формат, вы можете указать это format = '%Y-%m-%d %H:%M:%S.%f'
в своем коде.