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

Pandas:Object类型DateTime转Datetime格式时遇OutOfBoundsDatetime错误

解决Pandas转换无年份时序数据时的OutOfBoundsDatetime错误

这个问题我之前处理时序数据时碰见过!你遇到的OutOfBoundsDatetime错误,核心原因是pandas默认会给无年份的日期字符串自动填充当前系统年份,但如果填充后的年份超出了pandas datetime类型支持的范围(大概是公元1677年9月21日到2262年4月11日),就会触发这个报错。

针对你的数据,这里有两个靠谱的解决方案:

方案一:手动指定固定年份(推荐)

因为你的数据里没有年份,我们可以主动给日期字符串拼接一个合理的年份(比如2023,根据你的业务需求调整),再进行格式转换,这样就能完全避免自动填充带来的问题:

import pandas as pd

# 给日期字符串拼接固定年份
df['DateTime'] = '2023 ' + df['DateTime']
# 按指定格式转换为datetime类型
df['DateTime'] = pd.to_datetime(df['DateTime'], format='%Y %d/%m %H:%M:%S')

转换完成后,你可以用df['DateTime'].dtype检查一下,应该会显示datetime64[ns],这就说明转换成功了。

方案二:强制转换并跳过错误(不推荐,会丢失数据)

如果你只是想快速完成转换,不在乎丢失少量异常数据,可以使用errors='coerce'参数,让pandas把无法转换的日期转为NaT(Not a Time):

df['DateTime'] = pd.to_datetime(df['DateTime'], format='%d/%m %H:%M:%S', errors='coerce')

不过这个方法要谨慎使用,因为它会直接丢掉转换失败的行数据,除非你确认这些异常数据对你的分析没有影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:07:27