📜  Python|熊猫系列.isnull()(1)

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

Python Pandas系列: .isnull()

在数据分析或数据处理过程中,我们经常需要处理缺失值。Pandas提供了.isnull()方法来检查DataFrame或Series中是否存在缺失值。

DataFrame使用.isnull()

在DataFrame中,你可以使用.isnull()检查每个元素是否为缺失值。返回的结果是一个由布尔类型(True或False)组成的DataFrame,其中每个元素对应原始DataFrame中对应元素是否为缺失值。

import pandas as pd

data = {'name': ['David', 'Lucy', 'Doris', 'John', 'Peter', 'Yuri'],
        'age': [25, 20, None, 18, None, 30],
        'gender': ['M', 'F', None, 'M', 'M', None],
        'city': ['Beijing', 'Shanghai', 'Guangzhou', None, 'Shenzhen', 'New York']}
df = pd.DataFrame(data)

print(df.isnull())

输出结果为:

    name    age  gender   city
0  False  False   False  False
1  False  False   False  False
2  False   True    True  False
3  False  False   False   True
4  False   True   False  False
5  False  False    True  False

上述代码中,一个包含了四列的DataFrame被创建出来。.isnull()方法检查了每个元素是否为缺失值并返回一个相同大小的DataFrame。对于每个缺失值,.isnull()返回的DataFrame中相应位置为True,否则为False

Series使用.isnull()

Series上也有.isnull()方法。这个方法和DataFrame的用法基本一致,只不过它返回的是一个由布尔类型(True或False)组成的Series,其中每个元素对应原始Series中对应元素是否为缺失值。

age = pd.Series([25, 20, None, 18, None, 30])

print(age.isnull())

输出结果为:

0    False
1    False
2     True
3    False
4     True
5    False
dtype: bool

上述代码中,一个包含了6个元素的Series被创建出来。.isnull()方法检查了每个元素是否为缺失值并返回一个相同长度的Series。对于每个缺失值,.isnull()返回的Series中相应位置为True,否则为False

.isnull()与.notnull()的比较

另外一个和.isnull()相关的方法是.notnull()。它的作用和.isnull()相反,用于检查每个元素是否为非缺失值。在DataFrame或Series上使用.notnull()会返回相同大小的DataFrame或Series,其中每个元素对应原始DataFrame或Series中对应元素是否为非缺失值。

print(df.notnull())
print(age.notnull())

输出结果分别为:

   name    age  gender   city
0  True   True    True   True
1  True   True    True   True
2  True  False   False   True
3  True   True    True  False
4  True  False    True   True
5  True   True   False   True
0     True
1     True
2    False
3     True
4    False
5     True
dtype: bool

注意到用.notnull()方法得到的结果和.isnull()的结果刚好相反。这两个方法经常一起使用以筛选非缺失值或缺失值。

总结
  • .isnull()方法用于检查DataFrame或Series是否存在缺失值;
  • .notnull()方法用于检查DataFrame或Series元素是否为非缺失值;
  • .isnull().notnull()方法返回的均为和原始DataFrame或Series相同大小的结果,结果中每个元素对应原始DataFrame或Series中对应元素是否为缺失值或非缺失值。