Pandas - 将字符串转换为不带日期的时间

6 浏览
0 Comments

Pandas - 将字符串转换为不带日期的时间

我已经阅读了大量的SO答案,但找不到一个清晰的解决方案。

我有一个名为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>

0