Python isnull
波尔德 人气:0前言:
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
得到的结果如下所⽰:
也可以通过pycharm的ScivView查看:
我们先来运⾏一下isnull()看会出现什么结果:
print(df.isnull())
运行结果如下所示:
总结:isnull()返回了布尔值,若该处为缺失值,返回True,若该处不为缺失值,则返回False
直接使⽤isnull()并不能很直观的反应缺失值的信息。 我们再调⽤其他命令进⾏尝试。
df.isnull().any()
# 会判断哪些列包含缺失值,该列存在缺失值则返回True,反之False。 print(df.isnull().any())
运行结果如下所示:
总结:isnull().any()会判断哪些列包含缺失值,该列存在缺失值则返回True,反之False。
再来看一个例子:
使用isnull().sum()它直接告诉我们每列缺失值的个数。
# isnull().sum()就更加直观了,它直接告诉了我们每列缺失值的个数。 print(df.isnull().sum())
运行结果如下所示:
我来解释一下上面图片:
- 第0列有2个值为NAN(Not A Number)
- 第1列有1个值为NAN
- 第2列有2个值为NAN
- 第3列有1个值为NAN
- 第4列有1个值为NAN
我们再细心看看这个图。是不是和我们isnull().sum()的结果一模一样?
加载全部内容