📜  Python|熊猫 dataframe.notna()(1)

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

Python Pandas之dataframe.notna()

在数据分析中, Pandas 是 Python 中最流行的数据操作库之一。在 Pandas 中,DataFrame 是最常用的数据结构,可以将其视为电子表格或 SQL 表的等效物。在此,我们将学习 Pandas DataFrame 中的一个方法:notna()

函数定义

DataFrame.notna() 返回一个布尔值数据框,其形状与调用它的输入数据框相同,其中的每个元素都与元素是否为 NaN 相对应。

下面是函数定义:

DataFrame.notna(self) -> ~FrameOrSeriesUnion

其中:

  • self:输入 Pandas 数据框。
例子

接下来,让我们看几个例子,以便更好地理解 notna() 的工作原理。

例子一:检查数据框中的空值

让我们从创建一个简单的数据框开始,该数据框包含一些带有空值的数据:

import pandas as pd
data = {'name': ['Emma', 'Sophia', 'Olivia', 'Ava', 'Mia', None],
        'age': [22, None, 25, 30, None, 28],
        'gender': ['F', 'F', 'F', 'F', 'F', None],
        'profession': ['Engineer', 'Writer', 'Doctor', None, 'Designer', 'Artist']}
df = pd.DataFrame(data)

现在,我们可以使用 notna() 创建一个布尔值数据框,以查看数据框中的空值:

df.notna()

输出为布尔值数据框,包括 True 和 False:

    name    age  gender  profession
0   True   True    True        True
1   True  False    True        True
2   True   True    True        True
3   True   True   False       False
4   True  False    True        True
5  False   True   False        True
例子二:过滤掉数据框中的空值

我们还可以使用 notna() 过滤掉数据框中的空值,仅返回非空值行:

df[df.notna().all(axis=1)]

输出将是与之前相同的数据框,不包括任何空值:

     name   age gender profession
0    Emma  22.0      F   Engineer
2  Olivia  25.0      F     Doctor
4     Mia   NaN      F   Designer
例子三:应用 notna()sum(),计算每列的非空值数

我们可以使用 notna()sum() 函数,计算每列中非空值的数量:

df.notna().sum()

输出如下:

name          5
age           4
gender        5
profession    5
dtype: int64

上述代码返回每列的非空值数量。

例子四:应用 notna()mean(),计算每列的非空值比例

我们可以使用 notna()mean() 函数,计算每列中非空值的比例:

df.notna().mean()

输出如下:

name          1.000000
age           0.666667
gender        1.000000
profession    0.833333
dtype: float64

上述代码返回每列中非空值占列总值的比例。

结论

DataFrame.notna() 是一种方便的方法,可帮助我们使用 Pandas 查找数据框中的所有空值和非空值。在数据清洗和分析中,它是非常有用的。