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

如何在Pandas中将HHMMSS格式整数转为可提取.time()的时间类型?

解决Pandas中整数格式HHMMSS转datetime.time类型的问题

针对3500万行的大数据集,优先选择向量化操作避免逐行处理的性能损耗,以下两种高效方案可供选择:

方法1:字符串补零+时间解析(简洁直观)

先将整数转为固定6位的字符串(自动补前导零),再用Pandas的时间解析函数转换,最后提取time()部分:

# 把整数转为6位字符串,补全前导零
df['Time_str'] = df['Time'].astype(str).str.zfill(6)
# 按HHMMSS格式解析为datetime,提取time对象
df['Time_dt'] = pd.to_datetime(df['Time_str'], format='%H%M%S').dt.time

方法2:数值计算拆分时分秒(性能更优)

通过数学运算直接拆分时、分、秒,再构造datetime对象,纯数值操作的速度更快,适合超大规模数据集:

# 拆分小时、分钟、秒字段
df['hour'] = df['Time'] // 10000
df['minute'] = (df['Time'] % 10000) // 100
df['second'] = df['Time'] % 100

# 利用拆分后的字段构造datetime,提取time部分
df['Time_dt'] = pd.to_datetime(df[['hour', 'minute', 'second']]).dt.time

# 清理中间列节省内存
df = df.drop(['hour', 'minute', 'second'], axis=1)

效果验证

转换后,整数90000会变为datetime.time(9, 0)(上午9点),100000变为datetime.time(10, 0)(上午10点),后续可直接基于Time_dt列按自定义间隔(小时/分钟/秒)进行统计分析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 22:05:27