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

技术求助:如何将日期格式01oct2012转换为01-10-2012?

解决pandas特殊日期格式转换问题

针对01oct2012这类带缩写月份的日期格式,用pd.to_datetime可以精准处理,关键是指定匹配的格式参数,以下是可行代码:

import pandas as pd

# 模拟你的数据结构
df = pd.DataFrame({'原始日期': ['01oct2012', '25mar2024', '10jul2020']})

# 转换为datetime类型再格式化目标字符串
df['转换后日期'] = pd.to_datetime(df['原始日期'], format='%d%b%Y').dt.strftime('%d-%m-%Y')

参数说明:

  • format='%d%b%Y':匹配输入格式,%d对应两位日,%b对应英文月份缩写(不区分大小写),%Y对应四位年份
  • .dt.strftime('%d-%m-%Y'):将datetime对象转为你需要的日-月-年字符串格式

如果存在无法解析的异常日期,可添加errors='coerce'参数将其转为NaT(便于后续排查):

df['转换后日期'] = pd.to_datetime(df['原始日期'], format='%d%b%Y', errors='coerce').dt.strftime('%d-%m-%Y')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 03:35:25