Pandas库中isnull函数的实现

 更新时间:2024年07月22日 11:19:48   作者:Midsummer-逐梦  
isnull()是Pandas库中DataFrame和Series对象的一个函数,用于检测数据中的缺失值,本文主要介绍了Pandas库中isnull函数的实现,具有一定参考价值,感兴趣的可以了解一下

一、简介

isnull()是Pandas库中DataFrame和Series对象的一个函数,用于检测数据中的缺失值。它返回一个布尔类型的DataFrame或Series,其中True表示该位置的值是缺失的(NaNNone),False表示该位置的值不是缺失的。

二、语法和参数

DataFrame.isnull()

isnull()函数没有参数。它直接应用于DataFrame或Series对象。

三、实例

3.1 基本使用

代码:

import pandas as pd
import numpy as np

# 创建一个包含NaN和None的DataFrame
df = pd.DataFrame({
    'A': [1, np.nan, 3, None],
    'B': [4, 5, np.nan, 7],
    'C': [8, 9, 10, 11]
})

print("原始DataFrame:")
print(df)

print("\n使用isnull()后的结果:")
print(df.isnull())

输出:

原始DataFrame:
     A    B   C
0  1.0  4.0   8
1  NaN  5.0   9
2  3.0  NaN  10
3  NaN  7.0  11

使用isnull()后的结果:
       A      B      C
0  False  False  False
1   True  False  False
2  False   True  False
3   True  False  False

3.2 与sum()函数结合使用

代码:

import pandas as pd
import numpy as np

df = pd.DataFrame({
    'A': [1, np.nan, 3, None],
    'B': [4, 5, np.nan, 7],
    'C': [8, 9, 10, 11]
})

print("每列缺失值的数量:")
print(df.isnull().sum())

print("\n每行缺失值的数量:")
print(df.isnull().sum(axis=1))

输出:

每列缺失值的数量:
A    2
B    1
C    0
dtype: int64

每行缺失值的数量:
0    0
1    1
2    1
3    1
dtype: int64

3.3 与布尔索引结合使用

代码:

import pandas as pd
import numpy as np

df = pd.DataFrame({
    'A': [1, np.nan, 3, None],
    'B': [4, 5, np.nan, 7],
    'C': [8, 9, 10, 11]
})

print("原始DataFrame:")
print(df)

print("\n含有缺失值的行:")
print(df[df.isnull().any(axis=1)])

print("\n所有值都不缺失的行:")
print(df[df.notnull().all(axis=1)])

输出:

原始DataFrame:
     A    B   C
0  1.0  4.0   8
1  NaN  5.0   9
2  3.0  NaN  10
3  NaN  7.0  11

含有缺失值的行:
     A    B   C
1  NaN  5.0   9
2  3.0  NaN  10
3  NaN  7.0  11

所有值都不缺失的行:
     A    B  C
0  1.0  4.0  8

四、注意事项

  • isnull()函数可以检测NaN和None值,但不能检测空字符串或其他可能被视为"缺失"的值。
  • 对于非数值类型的列(如字符串或日期时间),只有None值会被视为缺失,而NaN不会。
  • isnull()的逻辑相反函数是notnull(),它返回True表示非缺失值,False表示缺失值。
  • 在处理大型数据集时,isnull()可能会消耗较多内存,因为它会创建一个与原DataFrame大小相同的新DataFrame。
  • isnull()isna()是完全相同的函数,可以互换使用。
  • 在进行数据清洗和预处理时,isnull()是一个非常有用的工具,可以帮助识别和处理缺失数据。

到此这篇关于Pandas库中isnull函数的实现的文章就介绍到这了,更多相关Pandas isnull函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • Python执行Shell命令的六种方法

    Python执行Shell命令的六种方法

    在 Python 编程中,有时我们需要执行一些 shell 命令来完成特定的任务,比如文件操作、系统调用等,Python 提供了多种内建的方法来执行这些命令,每种方法都有其适用场景和特点,本文给大家介绍了Python执行Shell命令的六种方法,需要的朋友可以参考下
    2024-09-09
  • Python字典的核心底层原理讲解

    Python字典的核心底层原理讲解

    今天小编就为大家分享一篇关于Python字典的核心底层原理讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 使用pandas实现csv/excel sheet互相转换的方法

    使用pandas实现csv/excel sheet互相转换的方法

    今天小编就为大家分享一篇使用pandas实现csv/excel sheet互相转换的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python如何把十进制数转换成ip地址

    Python如何把十进制数转换成ip地址

    这篇文章主要介绍了Python如何把十进制数转换成ip地址,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • python爬虫基础知识点整理

    python爬虫基础知识点整理

    在本篇文章里小编给大家整理的是一篇关于python爬虫基础知识点整理内容,有兴趣的朋友们可以学习下。
    2020-06-06
  • python Seaborn绘制统计图全面指南(直方图散点图小提琴图热力图相关系数图多张合并)

    python Seaborn绘制统计图全面指南(直方图散点图小提琴图热力图相关系数图多张合并)

    这篇文章主要介绍了python Seaborn绘制统计图全面指南,包括直方图,散点图,小提琴图,热力图,相关系数图及多张图合并的实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2024-01-01
  • Python asyncore socket客户端开发基本使用教程

    Python asyncore socket客户端开发基本使用教程

    asyncore库是python的一个标准库,提供了以异步的方式写入套接字服务的客户端和服务器的基础结构,这篇文章主要介绍了Python asyncore socket客户端开发基本使用,需要的朋友可以参考下
    2022-12-12
  • python实现跳表SkipList的示例代码

    python实现跳表SkipList的示例代码

    这篇文章主要介绍了python实现跳表SkipList的示例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • Python操作Excel把数据分给sheet

    Python操作Excel把数据分给sheet

    这篇文章主要介绍了Python操作Excel把数据分给sheet,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Python 占位符的使用方法详解

    Python 占位符的使用方法详解

    这篇文章主要介绍了Python 占位符的使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07

最新评论