Вы можете конвертировать оба сразу до вы конвертируете RecordDate
, используя:
df['Record_DateTime'] = pd.to_datetime(df['RecordDate']+df['RecordHour'], format='%Y-%m-%dT%H%M')
>>> df
RecordDate Serial RecordHour Value Record_DateTime
1 2015-03-18 304 T0000 0.0 2015-03-18 00:00:00
2 2015-03-18 304 T0030 0.0 2015-03-18 00:30:00
3 2015-03-18 304 T0100 0.0 2015-03-18 01:00:00
Если есть проблемы с определенными строками, вы можете использовать:
df['Record_DateTime'] = pd.to_datetime(df['RecordDate']+df['RecordHour'], format='%Y-%m-%dT%H%M',errors='coerce')
В этом случае он вернет NaT
там, где есть проблемные записи
Редактировать : я думаю, возможно, что некоторые из ваших записей просто содержат слишком много символов, чтобыистолкованный остроумием T%H%M
.В этом случае вы можете попробовать обрезать их:
df['RecordHour'] = pd.to_datetime(df['RecordHour'].str[:5], format='T%H%M')