Pandas筛选DataFrame含有空值的数据行的实现

 更新时间:2022年07月24日 09:49:29   作者:山茶花开时。  
本文主要介绍了Pandas筛选DataFrame含有空值的数据行的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

数据准备

import pandas as pd
 
df = pd.DataFrame([['ABC','Good',1],
                   ['FJZ',None,2],
                   ['FOC','Good',None]
                  ],columns=['Site','Remark','Quantity'])

df

注意:上述Remark字段中的数据类型为字符串str类型,空值取值为'None',Quantity字段中的数据类型为数值型,空值取值为nan 

1.筛选指定单列中有空值的数据行

# 语法
df[pd.isnull(df[col])]
df[df[col].isnull()] 
# 获取Remark字段为None的行
df_isnull_remark = df[df['Remark'].isnull()]
# 获取Quantity字段为None的行
df_isnull_quantity = df[df['Quantity'].isnull()]

df_isnull_remark

df_isnull_quantity

提示

筛选指定单列中没有空值的数据行

# 语法
df[pd.notnull(df[col])]
df[df[col].notnull()] 
# 获取Remark字段为非None的行
df_notnull_remark = df[df['Remark'].notnull()]
# 获取Quantity字段为非None的行
df_notnull_quantity = df[df['Quantity'].notnull()]

df_notnull_remark

df_notnull_quantity 

2.筛选指定多列中/全部列中满足所有列有空值的数据行 

# 语法
df[df[[cols]].isnull().all(axis=1)] 
df[pd.isnull(df[[cols]]).all(axis=1)]

在df基础上增加一行生成df1

df1 = pd.DataFrame([['ABC','Good',1],
                   ['FJZ',None,2],
                   ['FOC','Good',None],
                   [None,None,None]
                  ],columns=['Site','Remark','Quantity'])

# 获取df1所有列有空值的数据行 
all_df_isnull = df1[df1[['Site','Remark','Quantity']].isnull().all(axis=1)]

all_df_isnull

提示

筛选指定多列中/全部列中满足所有列没有空值的数据行 

# 语法
df[df[[cols]].notnull().all(axis=1)] 
df[pd.notnull(df[[cols]]).all(axis=1)]
# 获取df1所有列没有空值的数据行 
all_df_notnull = df1[df1[['Site','Remark','Quantity']].notnull().all(axis=1)]

all_df_notnull

3.筛选指定多列中/全部列中满足任意一列有空值的数据行 

# 语法
df[df[[cols]].isnull().any(axis=1)] 
df[pd.isnull(df[[cols]]).any(axis=1)]

df1(数据源)

# 获取df1所有列中满足任意一列有空值的数据行 
any_df_isnull = df1[df1[['Site','Remark','Quantity']].isnull().any(axis=1)] 

any_df_isnull

提示

筛选指定多列中/全部列中满足任意一列没有空值的数据行

# 语法
df[df[[cols]].notnull().any(axis=1)] 
df[pd.notnull(df[[cols]]).any(axis=1)]
# 获取df1所有列中满足任意一列没有空值的数据行 
any_df_notnull = df1[df1[['Site','Remark','Quantity']].notnull().any(axis=1)]

any_df_notnull

Numpy里边查找NaN值的话,使用np.isnan()

Pabdas里边查找NaN值的话,使用.isna()或.isnull()

import pandas as pd
import numpy as np
 
df = pd.DataFrame({'site1': ['a', 'b', 'c', ''],
                   'site2': ['a', np.nan, '', 'd'],
                   'site3': ['a', 'b', 'c', 'd']})

df

df['contact_site'] = df['site1'] + df['site2'] + df['site3']

新增数据列后的df 

res1 = df[df['site2'].isnull()]
res2 = df[df['site2'].isna()]
res3 = df[df['site2']=='']

res1

res2

res3

注意:res1和res2的结果相同,说明.isna()和.isnull()的作用等效

到此这篇关于Pandas筛选DataFrame含有空值的数据行的实现的文章就介绍到这了,更多相关Pandas筛选DataFrame空值行内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python3.x+迅雷x 自动下载高分电影的实现方法

    Python3.x+迅雷x 自动下载高分电影的实现方法

    这篇文章主要介绍了Python3.x+迅雷x 自动下载高分电影的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • python读取多类型文件夹中的文档内容

    python读取多类型文件夹中的文档内容

    无论我们使用哪种编程语言,处理文件对于每个程序员都是必不可少的,本文主要介绍了python读取多类型文件夹中的文档内容,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Python any()函数的使用方法

    Python any()函数的使用方法

    这篇文章主要介绍了Python any()函数的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Python的函数嵌套的使用方法

    Python的函数嵌套的使用方法

    这篇文章主要介绍了Python的函数嵌套的使用方法,有需要的朋友可以参考一下
    2014-01-01
  • Python类型注解必备利器typing模块全面解读

    Python类型注解必备利器typing模块全面解读

    在Python 3.5版本后引入的typing模块为Python的静态类型注解提供了支持,这个模块在增强代码可读性和维护性方面提供了帮助,本文将深入探讨typing模块,介绍其基本概念、常用类型注解以及使用示例,以帮助读者更全面地了解和应用静态类型注解
    2024-01-01
  • 详解超星脚本出现乱码问题的解决方法(Python)

    详解超星脚本出现乱码问题的解决方法(Python)

    超星助手是一款为孩子们提供学习的软件,支持用户们后台运行多开等,还可以签到,查题等多功能,下面这篇文章主要给大家介绍了关于超星脚本出现乱码问题的解决方法,需要的朋友可以参考下
    2022-05-05
  • python执行scp命令拷贝文件及文件夹到远程主机的目录方法

    python执行scp命令拷贝文件及文件夹到远程主机的目录方法

    今天小编就为大家分享一篇python执行scp命令拷贝文件及文件夹到远程主机的目录方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • django+tornado实现实时查看远程日志的方法

    django+tornado实现实时查看远程日志的方法

    今天小编就为大家分享一篇django+tornado实现实时查看远程日志的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python使用Pickle库实现读写序列操作示例

    Python使用Pickle库实现读写序列操作示例

    这篇文章主要介绍了Python使用Pickle库实现读写序列操作,结合实例形式分析了pickle模块的功能、常用函数以及序列化与反序列化相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式

    Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式

    这篇文章主要介绍了Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06

最新评论