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