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

Pandas使用pd.to_datetime转换年份列时年份被识别为秒数怎么办

问题原因

pd.to_datetime()默认会将纯数字输入识别为Unix时间戳,也就是从1970-01-01 00:00:00开始的时间偏移量,你输入的年份数值会被当作偏移值解析,才会出现年份被识别到1970年的错误。

解决方法

以下两种方案都可以实现需求:

  • 方案1:指定format参数强制按年份解析
    直接声明输入内容为4位年份格式,方法会自动补全为当年1月1日0点,完全匹配你要求的输出格式:
winds["YEAR"] = pd.to_datetime(winds["YEAR"], format="%Y")
  • 方案2:手动拼接自定义日期后转换
    如果你需要自定义月、日、时分秒的数值,可以先把年份转为字符串拼接成完整日期再转换,灵活度更高:
# 示例:自定义为每年3月15日 08:00:00
winds["YEAR"] = pd.to_datetime(winds["YEAR"].astype(str) + "-03-15 08:00:00")
结果验证

转换后可以执行以下代码校验输出是否符合预期:

print(winds["YEAR"].sample(5))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 09:57:03