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

如何用Python和Pandas将DataFrame中数字日期转为2019-11-10格式

解决DataFrame数字日期转标准格式的问题

问题原因

你之前用pd.to_datetime(df.date)出错,是因为pandas默认把数字类型的输入当成Unix时间戳(毫秒级)解析,20191028被识别为从1970-01-01开始的毫秒数,所以得到了错误的1970年日期。

解决方案

针对数字格式的日期(如20191110),需要明确告诉pandas日期的格式,以下是几种高效处理方式:

1. 直接指定日期格式(推荐)

利用format参数指定输入的日期格式为%Y%m%d(4位年+2位月+2位日),无需转换类型,效率更高:

df['date'] = pd.to_datetime(df['date'], format='%Y%m%d')

2. 先转字符串再解析

如果担心数字格式有异常(比如带小数),可以先把列转成字符串再解析:

df['date'] = pd.to_datetime(df['date'].astype(str), format='%Y%m%d')

3. 处理无效值

如果列中存在不符合%Y%m%d格式的内容,可以添加errors='coerce'参数,将无效值转为NaT(缺失日期),方便后续清洗:

df['date'] = pd.to_datetime(df['date'], format='%Y%m%d', errors='coerce')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 15:37:48