示例字符串:
11/8/2017 3:00:00 PM
在数据框列sales['Checkin']
转换代码:
pd.to_datetime(sales['Checkin'], format = "%m/%d/%Y %H:%M:%S %p").dt.to_period('H')
结果是:
2017-11-08 03:00
因此忽略PM ...我希望得到正确的结果:
2017-11-08 15:00
我测试了它,似乎是to_datetime
而不是to_period
的问题,但是我不确定自己丢失了什么,因为我用Google搜索并注意到我正在使用{{1} }正确,而不是12小时格式的%H
...
答案 0 :(得分:2)
您必须使用%I
而不是%H
:
In [11]: pd.to_datetime(s, format = "%m/%d/%Y %I:%M:%S %p").dt.to_period('H')
Out[11]:
0 2017-11-08 15:00
dtype: object
%H Hour (24-hour clock) as a zero-padded decimal number.
%I Hour (12-hour clock) as a zero-padded decimal number.