You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何转换DataFrame中时间列的数据格式?

解决12小时制时间字符串转24小时制格式问题

你的代码存在几个问题:没必要用循环逐行处理(pandas支持矢量化操作)、错误覆盖了date列数据、直接对Series调用strftime会报错(需用dt.strftime)。

直接用以下方式即可完成转换:

  1. 用pd.to_datetime解析带AM/PM的时间字符串,指定匹配格式
  2. 用dt.strftime转换为24小时制的HH:MM格式

完整示例代码

import pandas as pd

# 针对你的DataFrame tbpoteri处理time列
tbpoteri['time'] = pd.to_datetime(tbpoteri['time'], format='%I %p.').dt.strftime('%H:%M')

格式参数说明

  • %I:匹配12小时制的小时数(1-12)
  • %p:匹配AM/PM标记(对应输入里的a.m./p.m.)
  • 格式里的.要保留,因为你的时间字符串是8 p.m.这种带点的格式

如果遇到12 p.m.(中午12点)、12 a.m.(凌晨12点)这类边界情况,上述方法也能正确转换为12:00和00:00。

内容的提问来源于stack exchange,提问作者Denis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 17:52:03