gpt4 book ai didi

python - 返回数据帧行,其中列中的值不是日期类型

转载 作者:行者123 更新时间:2023-12-01 08:54:49 24 4
gpt4 key购买 nike

我有一个数据框df,如下所示:

 Name   Date of birth
Bob
Steve 22/07/1963
Jo pencil
Karen 03/02/1953
Frank 29/09/1994

有没有办法返回出生日期不是日期的行?

在上面的例子中我会返回:

 Name   Date of birth
Bob
Jo pencil

其中出生日期不是日期。

我可以使用以下方法确定出生日期有空白值的位置:

missingDoBError = df.loc[df['Date of birth'].isnull()]

我尝试使用以下方法查找出生日期值,其中该值不是设置为 NaT 的日期格式:

if pd.to_datetime(df['Date of birth'], format='%d-%b-%Y', errors='coerce').notnull().all():

但我无法让它发挥作用。

最佳答案

我相信您需要将格式更改为 %d/%m/%Y 并测试缺失值:

m2 = pd.to_datetime(df['Date of birth'], format='%d/%m/%Y', errors='coerce').isnull()
#or skip parameter format if performance is not important
#m2 = pd.to_datetime(df['Date of birth'], errors='coerce').isnull()

df = df[m2]
print (df)
Name Date of birth
0 Bob NaN
2 Jo pencil

如果想要省略 NaN 行,则使用按位 AND (&) 链接另一个 bool 掩码以测试不缺失值:

m1 = df['Date of birth'].notnull()
m2 = pd.to_datetime(df['Date of birth'], format='%d/%m/%Y', errors='coerce').isnull()

df = df[m1 & m2]
print (df)
Name Date of birth
2 Jo pencil

关于python - 返回数据帧行,其中列中的值不是日期类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52849916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com