熊猫 - 将AM / PM格式更改为24小时

时间:2017-02-08 16:19:23

标签: python pandas datetime

我在字符串中以'10:23:34 PM'的格式输入了一些时间,我想将其转换为类似'22:23:45'的日期时间。我正在使用

datetime = posts['time'].apply(lambda x: datetime.strptime(x, '%I:%M:%S %p').strftime('%I:%M:%S'))

然而,这似乎忽略了AM / PM标记,并且所有信息都显示为时间在AM中,而'10:23:34 PM'输入我得到'10:23:34'作为输出,但是它应该是'22:23:45'。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

您希望%H不是%I

In [44]:
d='10:23:34 PM'
pd.to_datetime(d).strftime('%H:%M:%S')

Out[44]:
'22:23:34'

%I返回12小时制格式,您希望%H返回24小时格式,请参阅docs

我认为您可以在不使用apply的情况下执行此操作:

datetime = pd.to_datetime(posts['time']).dt.strftime('%H:%M:%S')

注意这会给你字符串而不是日期时间