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

如何将数字格式时间转换为高频时间格式?pd.to_datetime报错求助

解决连续时间字符串转指定格式的问题

错误原因

你传入的091504000是无分隔符的9位连续字符串,但你指定的%H:%M:%S,%f格式要求输入必须是HH:MM:SS,ffffff这种带冒号、逗号的结构,两者格式不匹配,因此报错。

解决方法

有两种可行的处理方式:

方法1:直接用对应格式解析连续字符串

利用pd.to_datetime直接解析无分隔符的时间字符串,指定匹配连续结构的格式%H%M%S%f,再转成目标格式:

import pandas as pd

# 解析连续时间字符串为datetime类型
df['MDTime'] = pd.to_datetime(df['MDTime'], format='%H%M%S%f')
# 转换为09:15:04.000格式的字符串
df['MDTime_formatted'] = df['MDTime'].dt.strftime('%H:%M:%S.%f').str[:-3]

注:%f对应6位微秒,通过str[:-3]截取前12位,保留三位毫秒。

方法2:先插入分隔符再解析

先手动给连续字符串插入分隔符,匹配你最初使用的格式要求,再进行转换:

import pandas as pd

# 给连续字符串插入冒号和逗号,格式化为HH:MM:SS,fff
df['MDTime_processed'] = df['MDTime'].str[:2] + ':' + df['MDTime'].str[2:4] + ':' + df['MDTime'].str[4:6] + ',' + df['MDTime'].str[6:]
# 解析为datetime类型
df['MDTime'] = pd.to_datetime(df['MDTime_processed'], format='%H:%M:%S,%f')
# 转换为目标格式
df['MDTime_formatted'] = df['MDTime'].dt.strftime('%H:%M:%S.%f').str[:-3]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 10:00:52