从数据帧列python中删除非日期值

2024-04-23 12:26:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧(df),头部看起来像:

        Date
0 01/04/2015
1 01/09/1996
2        N/A
3 12/05/1992
4  NOT KNOWN

有没有删除数据行的方法?在本例中,生成的帧如下所示:

^{pr2}$

我看到的所有示例都希望我删除行,我希望保留它们。在


Tags: 数据方法示例dfdatenotknown头部
2条回答

还有一个简单的方法。。在

>>> df
         Date
0  01/04/2015
1  01/09/1996
2         N/A
3  12/05/1992
4   NOT KNOWN

>>> df['Date'] = pd.to_datetime(df['Date'], errors='coerce').fillna('')
>>> df
                  Date
0  2015-01-04 00:00:00
1  1996-01-09 00:00:00
2
3  1992-12-05 00:00:00

^{}

使用errors='coerce'

df.assign(Date=pd.to_datetime(df.Date, errors='coerce'))

        Date
0 2015-01-04
1 1996-01-09
2        NaT
3 1992-12-05
4        NaT

如果愿意,可以用空字符串填充这些NaT(尽管我不建议这样做)

^{pr2}$

如果您想保留数据帧中的任何内容,只需用''替换与日期不符的内容

df.assign(Date=df.Date.mask(pd.to_datetime(df.Date, errors='coerce').isna(), ''))

         Date
0  01/04/2015
1  01/09/1996
2            
3  12/05/1992
4            

相关问题 更多 >