首页 > 解决方案 > ValueError:时间数据“2017-02-22”与格式“%d-%m-%Y”不匹配

问题描述

我收到ValueError: time data '2017-02-22' does not match format '%d-%m-%Y以下代码的此错误。

如果代码为空日期格式看起来像这样 '22-02-2017' 否则它看起来像这样的格式 '2017-02-22'

以前我曾经在代码列中有空数据,但现在我没有。

所以我使用下面的代码进行更改。

x1['my_date']=np.where(x1['code'].isnull(),pd.to_datetime(x1['my_date'],format="%d-%m-
%Y"),x1['my_date'])

无法弄清楚这段代码有什么问题

标签: pythonpandasnumpy

解决方案


在您的解决方案中添加errors='coerce'工作,如果没有匹配(然后返回NaT):

x1['my_date']=np.where(x1['code'].isnull(),
                       pd.to_datetime(x1['my_date'],format="%d-%m-%Y", errors='coerce'),
                       x1['my_date'])

推荐阅读