如何将字符串转换为日期并跳过记录(如果为零)?

时间:2019-07-11 16:17:29

标签: python python-3.x pandas

我尝试了下面的两行代码,都抛出了相同的错误。

df['MATURITY'] = df['MATURITY'].astype('datetime64[ns]')
df['MATURITY'] = pd.to_datetime(df['MATURITY'])

错误:ValueError: ('String does not contain a date:', ' ')

在这一列中,我有一些记录是空白的,我使用以下记录将它们转换为0:df = df.fillna(0)

现在,我猜那些零会导致我上面提到的错误。有没有一种方法可以跳过此特定字段中带有0的这些记录,并将所有非零转换为日期。所有这些日期现在都是字符串。谢谢。

1 个答案:

答案 0 :(得分:0)

看起来pandas to_datetime function带有一个errors参数,它可以用不同的方式响应无效的日期格式。默认情况下会引发错误,但也可以将其设置为'ignore',以在输入无效(例如输入无效)时返回输入。 0.试试这个:

pd.to_datetime(df['MATURITY'], errors='coerce')