【发布时间】:2015-09-03 12:21:00
【问题描述】:
我已阅读大量 SO 答案,但找不到明确的解决方案。
我在一个名为 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>
【问题讨论】: