You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Pandas DataFrame中将12小时制时间转换为24小时制

将Pandas DataFrame中的12小时制时间转换为24小时制

嘿,这事儿好办!咱们用Pandas自带的日期时间处理工具就能轻松搞定这个格式转换需求,具体步骤如下:

首先先确认下你提供的原始DataFrame:

import pandas as pd

df = pd.DataFrame({ 
    'name':['abc','def','ghi'], 
    'time':['10:30 PM', '11:30 PM', '01:20 AM'] 
})

原始输出数据:

nametime
0abc10:30 PM
1def11:30 PM
2ghi01:20 AM

接下来是核心转换代码,我们先用pd.to_datetime解析12小时制的时间字符串,再用strftime格式化为24小时制的字符串:

# 解析12小时制时间并转换为24小时制格式
df['time'] = pd.to_datetime(df['time'], format='%I:%M %p').dt.strftime('%H:%M')

这里简单解释下参数含义:

  • %I:匹配12小时制的小时数(范围01-12)
  • %M:匹配分钟数(范围00-59)
  • %p:匹配AM/PM标记
  • %H:输出24小时制的小时数(范围00-23)

运行完代码后,就能得到你想要的结果:

nametime
0abc22:30
1def23:30
2ghi01:20

如果不想覆盖原有的time列,也可以新建一个列来存储转换后的数据,只需要修改代码为:

df['time_24h'] = pd.to_datetime(df['time'], format='%I:%M %p').dt.strftime('%H:%M')

这样就完美解决你的需求啦!

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

火山引擎 最新活动