无法解析python pandas中的日期

时间:2018-08-30 07:39:36

标签: pandas date

我在数据框中具有以下列日期值

Jan 2009
Feb 2003
2017-09-01 00:00:00

但是当我使用

np.where(df['Date'].astype(str).apply(len) == 8,pd.to_datetime(df['Date'],format="%b %Y"),pd.to_datetime(df['Date']))

它失败并显示以下错误:-

ValueError:时间数据datetime.datetime(2017,9,1,0,0)与格式'%b%Y'(匹配)不匹配

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我认为有些日期时间的格式为YYYYMMDD,因此长度为8,因此不匹配%b %Y

print (df)
                  Date
0             20170901
1             Jan 2009
2             Feb 2003
3  2017-09-01 00:00:00

对我来说,仅工作to_datetime

df['Date'] = pd.to_datetime(df['Date'])
print (df)
        Date
0 2017-09-01
1 2009-01-01
2 2003-02-01
3 2017-09-01