#pandas #datetime
#pandas #datetime
Вопрос:
Я пытаюсь преобразовать свой столбец SampleTime из ‘%H:%M:% S’, показанный здесь, просто в ‘%H%M%S’, поэтому двоеточия удаляются. Я пытаюсь использовать этот код:
insitu_time = pd.to_datetime(insitu['SampleTime']).dt.strftime('%H%M%S')
но при получении ошибки ‘TypeError: <введите ‘datetime.time’&&t; не преобразуется в datetime’
Комментарии:
1. Можете ли вы опубликовать образцы данных?
Ответ №1:
Проверьте, являются ли данные чистыми. Вот пример, когда данные намеренно создаются с пробелами.
insitu = pd.DataFrame({'Sampletime': [' 00:30:00', '01:00:01', '01:30:00', '02:00:01 ']})
Попробуйте запустить это, чтобы увидеть, возвращает ли оно какой-либо NaT
pd.to_datetime(insitu['Sampletime'],errors='coerce')
#0 NaT
#1 2020-08-07 01:00:01
#2 2020-08-07 01:30:00
#3 2020-08-07 02:00:01
Убрать пробелы:
insitu['Sampletime'] = insitu['Sampletime'].str.strip()
Также попробуйте сначала преобразовать в Timestamp:
insitu['Sampletime'] = insitu['Sampletime'].apply(pd.Timestamp)
Затем:
pd.to_datetime(insitu['Sampletime']).dt.strftime('%H%M%S')
# Result:
#0 003000
#1 010001
#2 013000
#3 020001