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

如何在Pandas中正确解析以点分隔的日期格式?

解决Pandas日期解析错误的高效方案

嗨,别担心,这个问题完全不用循环就能解决!Pandas的pd.to_datetime本身就有专门的参数来处理自定义日期格式,比逐行处理高效多了。

问题根源

你遇到的ParserError是因为Pandas默认的日期解析器把中间的数字当成了月份(比如17.14.11里的14),但月份只能是1-12,所以报错。核心是要明确告诉Pandas你的日期字符串每个部分代表什么。

具体解决方案

根据你的日期格式和错误提示,你的日期应该是两位年份.日期.月份的格式(比如17.14.11代表2017年11月14日,12.6.5代表2012年5月6日),直接用format参数指定解析规则即可:

1. 解析12.6.5或18.26.01格式的日期

import pandas as pd

# 统一指定格式,自动处理一位/两位的日、月
youtube_US['trending_date'] = pd.to_datetime(youtube_US['trending_date'], format='%y.%d.%m')

格式参数说明

  • %y:匹配两位数字的年份(比如12对应2012,18对应2018)
  • %d:匹配日期(一位数字会自动补零,比如6转为06)
  • %m:匹配月份(一位数字自动补零,比如5转为05)

处理格式不一致的情况

如果数据里有少量格式不统一的记录,可以加上errors='coerce'参数,把解析失败的转为NaT(Pandas的缺失日期值),方便后续排查:

youtube_US['trending_date'] = pd.to_datetime(youtube_US['trending_date'], format='%y.%d.%m', errors='coerce')

为什么不用循环?

Pandas是基于向量化操作设计的,pd.to_datetime内部已经做了优化,处理速度比手动循环快几个数量级,完全没必要写循环去逐行解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 12:37:45