Python系列 | missingno模块(缺失值可视化)

missingno 是一个可以将缺失值情况进行可视化的库,十分便捷、好用。本文以 boston 数据集为例,对 missingno 的使用进行示例讲解。

1. missingno 下载及安装

下载和安装非常方便,直接使用 pip 安装即可:

pip install missingno

2. 导入数据集

import missingno as msno
from sklearn.datasets import load_boston
import pandas as pd
import numpy as np
data,target = load_boston()['data'],load_boston()['target']
df = pd.concat([pd.DataFrame(data,columns=[str('features'+str(i)) for i in range(13)]),pd.DataFrame(target,columns=['target'])],axis=1)
df.head(10)

在这里插入图片描述

由于原数据不存在缺失值,这里选择将所有等于 0 的元素替换为缺失值:

df1 = df.where(df != 0,np.nan)
df1.isnull().sum()

在这里插入图片描述

现在数据集中的 features1 和 features 3 出现了缺失值,下面便可通过 missingno 对缺失值情况进行可视化。

3. missingno 缺失值可视化

3.1 msno.matrix

msno.matrix(df1, labels=True) # 无效数据密度显示

在这里插入图片描述

若是图中白线越多,则说明缺失值越多。左侧纵坐标上的两个数值为样本数量的始末(即从 1 开始数有 506 条数据),右下角数字 12 表示数据中共有 12 列不存在缺失值,右侧数字 14 表示数据共计 14 列。

3.2 msno.bar

msno.bar(df1)  # 条形图显示

在这里插入图片描述
上图高度越低说明缺失值越多,左侧纵坐标为数据非缺失值所占的百分比,右侧纵坐标为数据非缺失值的数量。

3.3 msno.heatmap

 msno.heatmap(df1)  # 热图相关性显示

在这里插入图片描述

上方热图用以表示存在缺失值的特征之间的相关性,即某特征存在缺失值时另一特征也会存在缺失值的相关程度。上图的热图中没有数字,说明特征之间不存在缺失的相关性。

若是热图中 features1 和 features3 出现热度值 1,则说明 features1 缺失时,features3 也一定缺失。

3.4 msno.dendrogram

msno.dendrogram(df1)#树状图显示

在这里插入图片描述

missingno 的树状图采用层次聚类算法对特征进行聚类,如上图所示,左侧的特征数据为一类,彼此的距离为 0(因为没有缺失数据),右侧的特征数据为另一类(两个存在缺失数据的特征)。

  • 21
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值