如何为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
相关产品推荐
相关产品推荐

