我正在努力将对象类型转换为日期时间。 这是数据框中的一列,其时间值格式为hh:mm:ss。
数据帧:df_train 栏:时间 值格式:hh:mm:ss
下面是我已经没有运气尝试过的选项
Opt1:
df_train['time'] = pd.to_datetime(df_train['time'])
Error:
TypeError: <class 'datetime.time'> is not convertible to datetime
Opt2:
df_train['time'] = pd.to_datetime(df_train['time'], format='%H:%M:%S').dt.time
Outcome:
The code is working but the type remain as object.
Opt3:
df_train['time'] = pd.to_datetime(df_train['time'].str.strip(), format='%H:%M:%S')
Outcome:
value changed to NaT
Opt4:
df_train['time'] = pd.to_datetime(df_train['time']).dt.time
Error:
TypeError: <class 'datetime.time'> is not convertible to datetime
感谢您建议将此列转换为datetime类型。
答案 0 :(得分:0)
只需尝试:
dat['column'] = pd.to_datetime(dat['column'])
或
从文件读取数据时pd.read_csv(file, parse_dates=['column'])
答案 1 :(得分:0)
我想很近,您需要to_timedelta
来获取将Python对象时间转换为字符串的时间增量:
df_train['time'] = pd.to_timedelta(df_train['time'].astype(str))