代码之家  ›  专栏  ›  技术社区  ›  ASH

在数据框中查找非日期

  •  1
  • ASH  · 技术社区  · 7 年前

    20260521
    20201207
    20230130
    

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

    下面两次尝试将抛出一个错误。

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

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

    1) 我如何查看这些在“成熟度”字段中抛出错误的特定记录?

    2) 另外,如果我想删除这些特定的记录,我该怎么做?

    1 回复  |  直到 7 年前
        1
  •  2
  •   rafaelc    7 年前

    根据 docs errors 在里面 pd.to_datetime 可以是:

    如果引发,则无效解析将引发异常

    如果强制,则无效解析将设置为NaT

    如果忽略,则无效解析将返回输入

    因此,您应该使用 errors='coerce' NaN s

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

    1) 我如何查看这些在“成熟度”字段中抛出错误的特定记录?

    df.loc[df['MATURITY'].isnull()]
    

    2) 另外,如果我想删除这些特定的记录,我该怎么做?

    df.dropna(subset='MATURITY')