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 GUI库PyQt5图形和特效样式QSS介绍

    Python GUI库PyQt5图形和特效样式QSS介绍

    这篇文章主要介绍了Python GUI库PyQt5图形和特效样式QSS介绍,需要的朋友可以参考下
    2020-02-02
  • 学会python自动收发邮件 代替你问候女友

    学会python自动收发邮件 代替你问候女友

    这篇文章主要为大家详细介绍了python实现自动收发邮件,代替你问候女友,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • Python实现粒子群算法详解

    Python实现粒子群算法详解

    这篇文章主要介绍了Python实现粒子群算法详解,粒子群算法,缩写为PSO(Particle Swarm Optimization),是一种非线性寻优算法,其特点是实现简单、收敛速度快,对多元函数的局部最优有较好的克服能力,需要的朋友可以参考下
    2023-07-07
  • django admin添加数据自动记录user到表中的实现方法

    django admin添加数据自动记录user到表中的实现方法

    下面小编就为大家分享一篇django admin添加数据自动记录user到表中的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • Python嵌套函数与nonlocal使用详细介绍

    Python嵌套函数与nonlocal使用详细介绍

    这篇文章主要介绍了Python嵌套函数与nonlocal使用,nonlocal关键字与global关键字有点相似,可以对比着理解。nonlocal关键字只能作用域局部变量,且始终找离当前最近的上层局部作用域中的变量
    2022-09-09
  • 使用Python对接OpenAi API实现智能QQ机器人的方法

    使用Python对接OpenAi API实现智能QQ机器人的方法

    这篇文章主要介绍了使用Python对接OpenAi API实现智能QQ机器人的方法,主要是提供一个方法思路,可以根据实现代码延申出更多的解决方法,需要的朋友可以参考下
    2023-03-03
  • python通过PyQt5实现登录界面的示例代码

    python通过PyQt5实现登录界面的示例代码

    本文主要介绍了python通过PyQt5实现登录界面的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Python Pandas中的shift()函数实现数据完美平移应用场景探究

    Python Pandas中的shift()函数实现数据完美平移应用场景探究

    shift() 是 Pandas 中一个常用的数据处理函数,它用于对数据进行移动或偏移操作,常用于时间序列数据或需要计算前后差值的情况,本文将详细介绍 shift() 函数的用法,包括语法、参数、示例以及常见应用场景
    2024-01-01
  • Python的时间模块datetime详解

    Python的时间模块datetime详解

    本文给大家分享的是在python中的时间模块datetime的使用方法,注意事项以及简单示例,有需要的小伙伴可以参考下
    2017-04-04
  • Python十类常见异常类型总结(附捕获及异常处理方式)

    Python十类常见异常类型总结(附捕获及异常处理方式)

    在编写程序时难免会遇到错误,有的是编写人员疏忽造成的语法错误,有的是程序内部隐含逻辑问题造成的数据错误等等,这篇文章主要给大家介绍了关于Python十类常见异常类型总结的相关资料,文中还附捕获及异常处理方式,需要的朋友可以参考下
    2023-06-06

最新评论