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

如何定位Python DataFrame中pandas.to_datetime转换失败的异常行?

快速定位日期转换异常行的方法

你可以借助pd.to_datetime的errors参数实现高效筛选,百万级数据集也能快速出结果,具体操作步骤如下:

  1. 先执行带容错的日期转换,把转换失败的值强制转为空时间值(NaT):
temp_dt = pd.to_datetime(df["Dt_Customer"], format='%d-%m-%y', errors='coerce')
  1. 筛选所有转换失败的对应行:
# 所有无法完成转换的异常行都会存在这个变量里
abnormal_rows = df[temp_dt.isna()]

常见问题排查方向

从报错提示unconverted data remains: 12来看,大概率是部分日期的年份为4位格式,你可以按以下方向验证:

  • 查看异常行的日期字符串长度分布:
abnormal_rows['Dt_Customer'].str.len().value_counts()
  • 正常符合%d-%m-%y格式的字符串长度为8位(比如05-10-23),如果大量异常值长度为10位,说明这些值用的是4位年份格式%d-%m-%Y(比如05-10-2023),调整转换格式重新转换即可。

内容的提问来源于stack exchange,提问作者Thiru Balaji G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 14:27:01