📜  Python|使用 Missingno 库可视化缺失值 (NaN) 值(1)

📅  最后修改于: 2023-12-03 14:46:25.819000             🧑  作者: Mango

Python | 使用 Missingno 库可视化缺失值 (NaN) 值

在数据分析和机器学习中,我们经常需要处理包含缺失值 (NaN) 的数据集。有时候,如果这些数据缺失的很严重,我们可能需要对其进行一些预处理操作。Missingno 是一个 Python 库,可以对缺失值进行可视化,从而使缺失值的情况一清二楚。

下面,我们先来看看如何安装 Missingno 库:

pip install missingno

安装完成后,我们就可以开始使用它了。让我们从一些基本的可视化开始吧。

1. 矩阵可视化

我们首先来看一下矩阵可视化。它可以让我们快速地看到数据集中的所有列,以及它们的 NaN 值:

import missingno as msno
import pandas as pd

# 创建一个包含 NaN 值的数据集
df = pd.DataFrame({'A': [1, 2, np.nan, 4, 5],
                   'B': [np.nan, 7, 8, np.nan, 10],
                   'C': [11, 12, 13, np.nan, 15]})

# 矩阵可视化
msno.matrix(df)

这将在屏幕上显示一个矩形表格,其中每一行代表一个观测值,每一列代表一个特征。如果该特征缺失数据,那么对应单元格将以白色显示。如果该特征没有缺失数据,则对应单元格将以紫色显示。通过矩阵可视化,我们可以很快地找到哪些列缺失数据,哪些没有。下面是结果:

矩阵可视化结果

2. 条形图可视化

下面我们来看一下如何使用条形图可视化缺失值。这可以让我们更直观地看到哪些特征缺失值较多:

# 条形图可视化
msno.bar(df)

这将在屏幕上显示一个条形图,其中每一条代表一个特征列,横轴是缺失值比例,纵轴是特征列名称。通过条形图可视化,我们可以很直观地找到哪些特征缺失值比例高,哪些低。下面是结果:

条形图可视化结果

3. 热图可视化

最后,我们来看一下如何使用热图可视化缺失值。这可以帮助我们更好地了解每个特征缺失值的分布情况:

# 热图可视化
msno.heatmap(df)

这将在屏幕上显示一个热图,其中每一行代表一个观测值,每一列代表一个特征,横轴是特征名称,纵轴是观测值数量。通过热图可视化,我们可以很直观地找到哪些特征有更多的缺失值,哪些有较少的缺失值。下面是结果:

热图可视化结果

总之,Missingno 是一个非常实用的 Python 库,可以帮助我们更好地处理和理解缺失值。无论你是数据分析师还是机器学习工程师,都应该了解和掌握它。