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

Pandas合并YYMMDD与HHMM列为DateTime列结果异常如何解决

核心错误原因

你操作的问题在于对HHMM列的解析逻辑错误:pd.to_timedelta指定单位为小时时,会将传入的HHMM字符串整体转为整数作为小时数,例如'0100'会被识别为100小时,等价于4天4小时,因此叠加到原日期后就会出现日期大幅偏移的错误结果。


可行解决方案

方案1(更简洁,推荐)

直接拼接YYMMDD和HHMM为完整时间字符串后统一转换为datetime类型:

dfn2['Datetime'] = pd.to_datetime(dfn2['YYMMDD'] + dfn2['HHMM'], format='%Y%m%d%H%M')

方案2

单独提取HHMM的小时部分再叠加时间差:

# 取HHMM前两位作为小时数,转换为时间差
hour_delta = pd.to_timedelta(dfn2['HHMM'].str[:2].astype('int'), unit='h')
dfn2['Datetime'] = pd.to_datetime(dfn2['YYMMDD'], format='%Y%m%d') + hour_delta

两种写法都可以得到你预期的输出结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 21:27:03