Python 如何处理错误的年份格式

Python 如何处理错误的年份格式,python,pandas,datetime,Python,Pandas,Datetime,作为python和pandas的新手,我面临着下一个问题。 在我的数据框中,我有一列日期(yyyy-mm-ddThh-mm-sec),其中大部分年份都是正常的(看起来像2008年),还有一部分年份写得像0008年。由于这个原因,我在使用pd.to\u datetime格式化列时遇到了问题 我的想法是首先将其转换为两位数的年份(使用pd.to_datetime(df['date']).dt.strftime(“%y%b,%d%H:%M:%S.%f+%Z)),但我得到了一个超出范围的纳秒时间戳错误:

作为python和pandas的新手,我面临着下一个问题。 在我的数据框中,我有一列日期(yyyy-mm-ddThh-mm-sec),其中大部分年份都是正常的(看起来像2008年),还有一部分年份写得像0008年。由于这个原因,我在使用pd.to\u datetime格式化列时遇到了问题

我的想法是首先将其转换为两位数的年份(使用pd.to_datetime(df['date']).dt.strftime(“%y%b,%d%H:%M:%S.%f+%Z)),但我得到了一个超出范围的纳秒时间戳错误:08-10-02 14:41:00

在dataframe中是否有其他选项可以将0008转换为2008


提前感谢您的帮助

如果坏数据的格式总是相同的(在坏年份总是4个字符),那么您可以使用
str

df = pd.DataFrame({'date':['2008-01-01', '0008-01-02']})
df['date'] = pd.to_datetime(df['date'].str[2:], yearfirst=True)

    date
0   2008-01-01
1   2008-01-02

非常好,谢谢!{看着你的解决方案,我不知道我怎么能用两步转换来实现如此复杂的方法,天哪}