我正在pandas
开展数据框架工作。我希望将time
列转换为to_datetime
,我的时间之前会收到 1900-01-01 。
一些示例数据,
Date hour
01-06-2013 23:00:00
02-06-2013 01:00:00
02-06-2013 21:00:00
02-06-2013 22:00:00
02-06-2013 23:00:00
03-06-2013 01:00:00
03-06-2013 21:00:00
03-06-2013 22:00:00
03-06-2013 23:00:00
04-06-2013 01:00:00
这是我试过的,
df['hour'] = pd.to_datetime(df['hour'],format ='%H:%M:%S', errors = 'coerce')
我是这样的,
print(df['hour'])
0 1900-01-01 23:00:00
1 1900-01-01 01:00:00
2 1900-01-01 21:00:00
3 1900-01-01 00:00:00
我的df
中不需要1900-01-01。为什么会这样?我怎么能摆脱这个?
答案 0 :(得分:2)
非常接近,只需将列设置为to_datetime()
df['hour'] = pd.to_datetime(df.hour,format ='%H:%M:%S', errors = 'coerce').dt.time
Date hour
0 01-06-2013 23:00:00
1 02-06-2013 01:00:00
2 02-06-2013 21:00:00
3 02-06-2013 22:00:00
4 02-06-2013 23:00:00
5 03-06-2013 01:00:00
6 03-06-2013 21:00:00
7 03-06-2013 22:00:00
8 03-06-2013 23:00:00
9 04-06-2013 01:00:00