关键词

详解pandas.DataFrame.isnull()(检测缺失值)函数使用方法

pandas.DataFrame.isnull() 函数用于检查 DataFrame 中的数据是否为空(NaN)值,返回一个布尔型(True或False)的 DataFrame,其中True表示该位置为空,False表示该位置不为空。

使用方法

首先,导入 pandas 包并创建一个 DataFrame 示例:

import pandas as pd

data = {'a': [10, 20, 30, None], 'b': [5, None, None, 7], 'c': ['x', 'y', None, 'z']}
df = pd.DataFrame(data)
print(df)

输出结果为:

      a    b     c
0  10.0  5.0     x
1  20.0  NaN     y
2  30.0  NaN  None
3   NaN  7.0     z

现在可以使用 isnull() 函数来检查整个 DataFrame 中的空值。例如:

print(df.isnull())

输出结果为:

       a      b      c
0  False  False  False
1  False   True  False
2  False   True   True
3   True  False  False

可以看到,返回了一个由布尔值组成的 DataFrame,其中 True 表示一个位置为空值。

我们还可以对特定的列使用 isnull() 函数。例如:

print(df['b'].isnull())

输出结果为:

0    False
1     True
2     True
3    False
Name: b, dtype: bool

在这个例子中,我们使用 'b' 列来检查空值。返回 True 表示 'b' 列中的位置为空值。

实例说明

假设有以下购物清单数据,我们可以通过 isnull() 函数检查值为空的位置。

import pandas as pd

shopping_list = [{'name': 'apple', 'price': 10, 'quantity': 2}, {'name': 'banana', 'price': 6, 'quantity': None},
                 {'name': 'candy', 'price': 3, 'quantity': 1}, {'name': 'donut', 'price': None, 'quantity': None},
                 {'name': None, 'price': None, 'quantity': None}, {'name': 'egg', 'price': 2, 'quantity': 12}]
df = pd.DataFrame(shopping_list)
print(df)

输出结果为:

    name  price  quantity
0  apple   10.0       2.0
1  banana    6.0       NaN
2  candy    3.0       1.0
3  donut    NaN       NaN
4   None    NaN       NaN
5    egg    2.0      12.0

接下来,使用 isnull() 函数检查
哪些位置为空值:

print(df.isnull())

输出结果为:

    name  price  quantity
0  False  False     False
1  False  False      True
2  False  False     False
3  False   True      True
4   True   True      True
5  False  False     False

可以看到,返回一个由布尔值组成的 DataFrame,其中 True 表示一个位置为空值。

下面再讲一个实例。

假设有一个餐厅菜单信息的数据,每道菜品有名称、价格、是否辣等属性。我们可以通过 isnull() 函数检查哪些位置为空值。

import pandas as pd

menu = [
    {'name': '番茄炒蛋', 'price': 10, 'spicy': False},
    {'name': '宫保鸡丁', 'price': None, 'spicy': True},
    {'name': None, 'price': 20, 'spicy': False},
    {'name': '木须肉', 'price': 15, 'spicy': None},
    {'name': '回锅肉', 'price': 12, 'spicy': False},
]

df = pd.DataFrame(menu)
print(df)

输出结果为:

    name  price  spicy
0  番茄炒蛋   10.0  False
1  宫保鸡丁    NaN   True
2   None   20.0  False
3   木须肉   15.0   None
4   回锅肉   12.0  False

现在我们使用 isnull() 函数来检查所有的空值:

print(df.isnull())

输出结果为:

    name  price  spicy
0  False  False  False
1  False   True  False
2   True  False  False
3  False  False   True
4  False  False  False

可以看到,在第二行,第二列上,值为 True,表示该位置为 None 或 NaN。

本文链接:http://task.lmcjl.com/news/4568.html

展开阅读全文