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