python - Pandas - 将 AM/PM 格式更改为 24 小时制

标签 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 标记,并且所有信息都好像时间在上午一样,因此对于 '10:23:34 PM' 输入 I得到 '10:23:34' 作为输出,但它应该是 '22:23:45'。我该如何解决这个问题?

最佳答案

你想要 %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')

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

关于python - Pandas - 将 AM/PM 格式更改为 24 小时制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42118338/

相关文章:

python - 我想为 imread 目录编号为字符串

python - 在浮点值列上合并 pandas DataFrame

Python 组 BY Cumsum

c# ((DateTime)object) 与 Datetime.Parse

python - 你能在不知道格式的情况下使用 datetime.strptime 吗?

python - 如何使用 python 3.x 从远程 url 打印 csv 内容?

python - 仅在数据框的一部分上显示热图?

python - 将原始时间转换为时区感知时间 (JST)

c# - 如何将阿拉伯语 Umm Al-Qura 日期字符串解析为 .NET DateTime 对象?

python - 使用 Python 使用嵌套 for 循环对列表中的 T 进行计数