Pandas DataFrame notnull() 方法详解

DataFrame.notnull() 函数简介

Pandas 中的 DataFrame.notnull() 函数用于检测 DataFrame 中的非缺失值(即非 NaN 或 None 的值)。它会返回一个与原 DataFrame 形状相同的 DataFrame,其中包含布尔值,用于指示每个元素是否不为空。

让我们先看一个简单的例子:

import pandas as pd
import numpy as np

df = pd.DataFrame({
    ‘A‘: [1, np.nan, 3],
    ‘B‘: [‘x‘, ‘y‘, None]
})
print(df.notnull())

Output

A      B
0   True   True
1  False   True
2   True  False

解释: 返回的 DataFrame 与原 DataFrame 形状相同,其中 True 表示该值不是 null(即有效值),False 表示该值为 NaN 或 None。

语法

> DataFrame.notnull()

参数: 此方法不接受任何参数。
返回值: 一个布尔类型的 DataFrame,其中值为非空的位置显示 True,值为 NaN 或 None 的位置显示 False。

示例

示例 1: 在这个例子中,我们来检查 DataFrame 中哪些值不是缺失值。

import pandas as pd
import numpy as np

df = pd.DataFrame({‘A‘: [1, np.nan, 3], ‘B‘: [‘a‘, ‘b‘, None]})
print(df.notnull())

Output

A      B
0   True   True
1  False   True
2   True  False

解释: 这会返回一个 DataFrame,其中非空值对应的位置为 True,而 NaN 或 None 对应的位置为 False。
示例 2: 使用布尔索引过滤列 ‘A‘ 不为空的行。

import pandas as pd
import numpy as np

df = pd.DataFrame({‘A‘: [1, np.nan, 3], ‘B‘: [‘a‘, ‘b‘, None]})
print(df[df[‘A‘].notnull()])

Output

A     B
0  1.0     a
2  3.0  None

解释: 只有列 ‘A‘ 不为空的行会被返回。列 ‘A‘ 中包含 NaN 的行被排除了。
示例 3: 将 INLINECODE332544e4 与 INLINECODE10d060ca 的反函数进行比较,以验证它们在逻辑上是相反的。

import pandas as pd
import numpy as np

df = pd.DataFrame({‘A‘: [1, np.nan, 3], ‘B‘: [‘a‘, ‘b‘, None]})
print(df.notnull() == ~df.isnull())

Output

A     B
0  True  True
1  True  True
2  True  True

解释: INLINECODE0674bcce 返回的结果与 INLINECODE2217eefa 相反,通过比较运算返回的全为 True 证实了这一点。
示例 4: 在这个例子中,我们使用 all() 方法检查每一列的所有值是否都非空。

import pandas as pd
import numpy as np

df = pd.DataFrame({‘A‘: [1, np.nan, 3], ‘B‘: [‘a‘, ‘b‘, None]})
print(df.notnull().all())

Output

A    False
B    False
dtype: bool

解释: 返回 False 表示这些列中并非所有值都是非空的,两列都至少包含一个缺失值。
示例 5: 在这个例子中,我们使用 any(axis=1) 检查每一行中是否至少包含一个非空值。

import pandas as pd
import numpy as np

df = pd.DataFrame({‘A‘: [1, np.nan, 3], ‘B‘: [‘a‘, ‘b‘, None]})
print(df.notnull().any(axis=1))

Output

0    True
1    True
2    True
dtype: bool

解释: 返回 True 表示每一行都至少包含一个非空值,即使行中的某些值是缺失的。

> 相关文章:

>

> – Pandas

> – NumPy

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/30698.html
点赞
0.00 平均评分 (0% 分数) - 0