📜  突出显示 pandas 表中的 null nan 值 - Python (1)

📅  最后修改于: 2023-12-03 15:27:22.488000             🧑  作者: Mango

突出显示 pandas 表中的 null/nan 值 - Python

Pandas 是 Python 中一个强大的数据分析库,可用于数据准备、清洗和分析等任务。在 Pandas 中,null 和 nan 是最常见的缺失数据类型。本文将介绍如何在 Pandas 表中突出显示 null/nan 值,以便更好地理解数据集中的缺失值。

简单的 Pandas 表

首先,我们将创建一个简单的 Pandas 表,其中包含一些 null 值和一些数字:

import pandas as pd
import numpy as np

data = {'a': [1, 2, 3, np.nan, 5],
        'b': [6, 7, np.nan, 9, 10],
        'c': [11, 12, 13, 14, 15]}

df = pd.DataFrame(data)

上述代码创建了一个 Pandas 表,其中包含 3 个列 a、b 和 c,每列包含 5 个值。

突出显示 null 值

要在 Pandas 表中突出显示 null 值,我们可以使用 Pandas 表的 style 属性。使用 style 属性,我们可以自定义表格的样式,并使用条件格式化(conditional formatting)来突出显示值。

在 Pandas 中,null 值可以使用 isnull() 方法进行检测。因此,我们可以使用 Pandas 的 applymap() 方法,在每个单元格上应用一个函数(如 lambda 函数),以检查其是否为 null 值。

def highlight_null(val):
    """显示 null 的颜色"""
    color = 'red' if pd.isnull(val) else 'black'
    return 'color: %s' % color

df.style.applymap(highlight_null)

上述代码定义了一个名为 highlight_null 的函数,该函数接受一个参数 val,并返回一个字符串,其中包含 CSS 样式属性,用于突出显示 null 值(使用红色文本)。然后,我们将该函数应用到 Pandas 表的 style 属性中,以突出显示 null 值。

运行上述代码后,您会发现所有的 null 值都用红色突出显示,如下所示:

highlight_null.png

突出显示 nan 值

要突出显示 nan 值,我们可以使用类似的方法。在 Pandas 中,nan 可以使用 np.isnan() 方法进行检测。因此,我们可以修改上述代码,以使用 np.isnan() 检查单元格中的值。

def highlight_nan(val):
    """显示 nan 的颜色"""
    color = 'blue' if np.isnan(val) else 'black'
    return 'color: %s' % color

df.style.applymap(highlight_nan)

上述代码定义了一个名为 highlight_nan 的函数,该函数通过应用 np.isnan() 方法来检查值是否为 nan,然后返回一个包含 CSS 样式属性的字符串,以突出显示 nan 值(在蓝色文本中)。然后,我们将该函数应用到 Pandas 表的 style 属性中。

运行以上代码后,你会看到所有的 nan 值都被用蓝色突出显示,如下所示:

highlight_nan.png

结论

在本文中,我们学习了如何使用 Pandas 的 style 属性来突出显示表中的 null 和 nan 值。使用这些方法,您可以更直观地理解数据集中的缺失值,并采取相应的措施进行数据准备和清洗。