python - 返回列中的值不是日期类型的数据框行
问题描述
我有一个df
看起来像这样的数据框:
Name Date of birth
Bob
Steve 22/07/1963
Jo pencil
Karen 03/02/1953
Frank 29/09/1994
有没有办法返回Date of birth
不是日期的行?
在上面的示例中,我会返回:
Name Date of birth
Bob
Jo pencil
哪里Date of birth
不是日期。
我可以使用以下方法确定出生日期的空白值在哪里:
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
如果要省略s 行,则使用按位( )NaN
链接另一个布尔掩码以测试不缺失值:AND
&
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
推荐阅读
- ruby-on-rails - 错误运行 rails -server,接收错误:纱线:错误:没有这样的选项:--integrity
- java - 导入导入 Fire-base 身份验证失败 (ProviderQueryResult com.google.firebase.auth.ProviderQueryResult; )
- android - 无法使用 Kotlin 在 Android sharedPreferences 中保存数据
- php - 将我的 SQL 数据库与 XAMPP 连接时出现问题
- javascript - 将输入数据发送到另一个页面
- javascript - Typescript React.ComponentProps 没有得到道具
- javascript - 如何对使用 insertRow() 插入的表进行排序?
- pdf - 在 Google Apps 脚本中控制 blob.getAs("application/pdf") 的格式
- pine-script - 如何获得图表中的最后 n 个柱?或者如何获取图表中的条形总数?
- reactjs - 'TypeError: null is not an object' 在 react-native 中带有提示