如何处理错误的年份格式

时间:2019-02-07 17:34:50

标签: python pandas datetime

对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?

非常感谢您的帮助

1 个答案:

答案 0 :(得分:4)

如果不良数据的格式始终相同(不良年份中始终为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