问题描述
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()详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。