最佳答案
我读了很多这样的答案,但是找不到一个清晰的答案。
我在一个名为 day1
的 df 中有这个数据,它表示小时:
1 10:53
2 12:17
3 14:46
4 16:36
5 18:39
6 20:31
7 22:28
Name: time, dtype: object>
我想把它转换成一个时间格式,但是当我这样做的时候:
day1.time = pd.to_datetime(day1.time, format='H%:M%')
结果包括今天的日期:
1 2015-09-03 10:53:00
2 2015-09-03 12:17:00
3 2015-09-03 14:46:00
4 2015-09-03 16:36:00
5 2015-09-03 18:39:00
6 2015-09-03 20:31:00
7 2015-09-03 22:28:00
Name: time, dtype: datetime64[ns]>
似乎 format
的参数不起作用-没有日期,我怎么得到这里显示的时间?
更新
下面正确地设置了时间格式,但不知何故该列仍然是一个对象类型。为什么不转换成 datetime64
?
day1['time'] = pd.to_datetime(day1['time'], format='%H:%M').dt.time
1 10:53:00
2 12:17:00
3 14:46:00
4 16:36:00
5 18:39:00
6 20:31:00
7 22:28:00
Name: time, dtype: object>