我读了很多 Stack Overflow 的答案,但找不到一个清晰的解决方案。
我有一个名为 day1
的数据框,其中包含表示小时的数据:
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>