📅  最后修改于: 2023-12-03 14:46:30.077000             🧑  作者: Mango
在数据分析中, 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 查找数据框中的所有空值和非空值。在数据清洗和分析中,它是非常有用的。