如何处理错误的年份格式

Iso*_*son 2 python datetime pandas

作为 python 和 pandas 的新手,我遇到了下一个问题。在我的数据框中,我有一个包含日期的列(yyyy-mm-ddThh-mm-sec),其中大部分年份都可以(看起来像 2008 年),还有一部分,其中年份写为 0008。因此,我有使用 pd.to_datetime 格式化列时出现问题。

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

还有其他选项可以将数据框中的 0008 转换为 2008 吗?

我在这里先向您的帮助表示感谢

Chr*_*ris 5

如果不良数据的格式始终相同(如在不良年份中始终为 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
Run Code Online (Sandbox Code Playgroud)