I have a column in my dataframe that has values like this: 00:23:44 how can i convert it from string to time h:mm:ss ?
I have a column in my dataframe that has values like this: 00:23:44 how can i convert it from string to time h:mm:ss ?
Use to_datetime and errors='coerce' for convert not datetimelike values to missing values with Series.dt.time, but later processing is problematic:
df['time'] = pd.to_datetime(df['col'], errors='coerce').dt.time
If need processing values later use to_timedelta:
df['time'] = pd.to_timedelta(df['col'], errors='coerce')
Sample:
df = pd.DataFrame({'col':['00:23:44','00:23:47','###']})
df['time'] = pd.to_datetime(df['col'], errors='coerce').dt.time
df['timedelta'] = pd.to_timedelta(df['col'], errors='coerce')
print (df)
col time timedelta
0 00:23:44 00:23:44 0 days 00:23:44
1 00:23:47 00:23:47 0 days 00:23:47
2 ### NaT NaT