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

Python Pandas中将YYYYMMDD格式整数日期转换为Datetime类型问题求助

问题根因

该问题的核心原因是DATE列当前为数值类型,pd.to_datetime默认会将纯数值输入识别为Unix时间戳(默认单位为纳秒),20200101这类数值远小于常规的秒级/毫秒级时间戳,因此会被解析为1970年1月1日之后间隔20200101纳秒的时间点。

解决方法
  • 方法1:先将字段转为字符串再解析,通用易操作
fin_data['DATE'] = pd.to_datetime(fin_data['DATE'].astype(str))
  • 方法2:直接指定日期格式,解析效率更高、结果更可控,推荐优先使用
    即使DATE列为数值类型,指定format参数后也可直接完成解析,无需提前手动转字符串:
fin_data['DATE'] = pd.to_datetime(fin_data['DATE'], format='%Y%m%d')

如果后续需要将datetime类型输出为YYYY-MM-DD格式的字符串,可以追加日期格式化操作(注意转成字符串后会丢失时间类型的计算能力):

fin_data['DATE_STR'] = fin_data['DATE'].dt.strftime('%Y-%m-%d')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:06:03