每小时to_period 24小时格式被忽略

时间:2019-02-19 05:19:48

标签: python-3.x pandas

示例字符串:

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 ...

1 个答案:

答案 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

来自datetime formatting docs

%H  Hour (24-hour clock) as a zero-padded decimal number.    
%I  Hour (12-hour clock) as a zero-padded decimal number.