Python pandas库中的isnull()详解

yipeiwu_com5年前Python基础

问题描述

python的pandas库中有一个十分便利的isnull()函数,它可以用来判断缺失值,我们通过几个例子学习它的使用方法。

首先我们创建一个dataframe,其中有一些数据为缺失值。

 import pandas as pd
 import numpy as np
 df = pd.DataFrame(np.random.randint(10,99,size=(10,5)))
 df.iloc[4:6,0] = np.nan
 df.iloc[5:7,2] = np.nan
 df.iloc[7,3] = np.nan
 df.iloc[2:3,4] = np.nan

得到的结果如下所示

    0  1   2   3   4
 0 63.0 89 58.0 94.0 10.0
 1 44.0 77 66.0 54.0 14.0
 2 25.0 41 93.0 56.0  NaN
 3 43.0 26 27.0 53.0 44.0
 4  NaN 98 45.0 32.0 45.0
 5  NaN 28  NaN 72.0 10.0
 6 69.0 92  NaN 24.0 61.0
 7 51.0 22 35.0  NaN 72.0
 8 83.0 32 93.0 62.0 25.0
 9 48.0 54 83.0 30.0 79.0

我们先来运行以下isnull()看会出现什么结果

df.isnull()
    0   1   2   3   4
 0 False False False False False
 1 False False False False False
 2 False False False False  True
 3 False False False False False
 4  True False False False False
 5  True False  True False False
 6 False False  True False False
 7 False False False  True False
 8 False False False False False
 9 False False False False False

可见程序返回了布尔值,该处为缺失值,返回True,该处不为缺失值,则返回False

其它

直接使用isnull()并不能很直观的反应缺失值的信息。

我们再调用其他命令进行尝试。

df.isnull().any()
 0   True
 1  False
 2   True
 3   True
 4   True
dtype: bool

可见df.isnull().any()会判断哪些列包含缺失值,该列存在缺失值则返回True,反之False。

df.isnull().sum()
 0  2
 1  0
 2  2
 3  1
 4  1
 dtype: int64

isnull().sum()就更加直观了,它直接告诉了我们每列缺失值的数量。

以上这篇Python pandas库中的isnull()详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 使用with上下文实现计时功能

引言 with 语句是从 Python 2.5 开始引入的一种与异常处理相关的功能(2.5 版本中要通过 from __future__ import with_statement 导...

Python实现windows下模拟按键和鼠标点击的方法

本文实例讲述了Python实现windows下模拟按键和鼠标点击的方法。分享给大家供大家参考。具体如下: 这段代码可以模拟在窗口上按下按键、鼠标左键点击、鼠标右键点击、鼠标双击等等...

Python面向对象之静态属性、类方法与静态方法分析

本文实例讲述了Python面向对象之静态属性、类方法与静态方法。分享给大家供大家参考,具体如下: 1. 静态属性:在函数前加@property,将函数逻辑”封装“成数据属性,外部直接调用...

Python的matplotlib绘图如何修改背景颜色的实现

Python的matplotlib绘图如何修改背景颜色的实现

在主图中背景颜色不知道怎么改,plt.plot()中没有axisbg参数。 但是子图可以对plt.subplot的参数做修改,下面是对子图的背景颜色修改代码 import matpl...

Python深入学习之特殊方法与多范式

Python一切皆对象,但同时,Python还是一个多范式语言(multi-paradigm),你不仅可以使用面向对象的方式来编写程序,还可以用面向过程的方式来编写相同功能的程序(还有函...