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

如何为pd.to_datetime设置格式以处理混合格式日期字符串?

求助:Pandas转换混合格式月份字符串为日期失败

我之前查过相关帖子,但还是搞不定这个日期转换的问题!我的CSV文件里有个叫Month的字符串列,里面的日期格式有点乱——月份和年份的位置有时候会颠倒,样本数据如下:

import pandas as pd
df = pd.read_csv("filename.csv")  # 假设文件里存在Month列
# 我试过两种方法,都报错了:
#[1] df["Month"] = pd.to_datetime(df["Month"])
#[2] df["Month"] = pd.to_datetime(df["Month"], format="%m/%d/%Y")

Month列样本值:

  • Mar-97
  • Apr-97
  • May-97
  • Jun-97
  • Nov-00
  • Dec-00
  • 1-Jan
  • 1-Feb
  • 1-Mar
  • 1-Apr

遇到的错误

  • 用方法[1](不指定format直接转)时,弹出错误:

ValueError: day is out of range for month

  • 用方法[2](指定format="%m/%d/%Y")时,又报错:

ValueError: time data 'Mar-97' does not match format '%m/%d/%Y' (match)

我还试着把格式里的%d去掉,结果还是不行。有没有大佬能帮我指出问题出在哪,该怎么解决呀?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:12:07