我读了很多这样的答案,但找不到明确的解决办法。
我在一个名为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>
你可以使用^{}
执行转换后,您可以使用datetime访问器^{} 仅访问
hour
或time
组件:另外,您的格式字符串
H%:M%
格式不正确,它可能会引发ValueError: ':' is a bad directive in format 'H%:M%'
关于您最后的注释,dtype是
datetime.time
而不是datetime
:相关问题 更多 >
编程相关推荐