Pandas DataFrame Isna 方法

Beginner

介绍

在本实验中,我们将学习如何在 Pandas 中使用 DataFrame.isna() 方法。isna() 方法用于检测 pandas DataFrame 中的缺失值。它返回一个布尔值的 DataFrame,其中每个元素表示它是否为空值。isna() 方法不会将空字符串或特殊值(如 numpy.inf)视为空值。

虚拟机提示

虚拟机启动完成后,点击左上角切换到 Notebook 标签页以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟,直到 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时可以咨询 Labby。请在实验结束后提供反馈,我们将及时为你解决问题。

创建 DataFrame

首先,让我们使用 pandas 库中的 DataFrame() 函数创建一个包含一些缺失值的 DataFrame。我们将导入必要的库,并创建一个包含列 'a'、'b'、'c' 和 'd' 的 DataFrame。

#importing pandas as pd
import pandas as pd
#importing numpy as np
import numpy as np

#creating the DataFrame
df = pd.DataFrame([(0.0, np.nan, -1.0, 1.0),
                   (np.nan, 2.0, np.nan, np.nan),
                   (2.0, 3.0, np.nan, 9.0)],
                  columns=list('abcd'))

print("------The DataFrame is----------")
print(df)

检测缺失值

接下来,我们将使用 isna() 方法来检测 DataFrame 中的缺失值。我们将打印结果以查看哪些元素是空值。

print("---------------------------------")
print(df.isna())

评估结果

通过运行代码,我们可以看到 isna() 方法返回了一个由布尔值组成的 DataFrame,每个布尔值对应原始 DataFrame 中的一个元素。False 表示该元素不是空值,而 True 表示该元素是空值。

处理空字符串

在前面的示例中,isna() 方法并未将空字符串视为空值。让我们创建另一个 DataFrame,并检查 isna() 方法是否仍然表现相同。

#creating another DataFrame
df = pd.DataFrame({'a': [0, 1, ''], 'b': ['', None, 3]})

print("------The DataFrame is----------")
print(df)

再次检测缺失值

现在,让我们在新的 DataFrame 上使用 isna() 方法来检测缺失值。

print("---------------------------------")
print(df.isna())

总结

在本实验中,我们学习了如何在 Pandas 中使用 DataFrame.isna() 方法来检测 DataFrame 中的缺失值。我们创建了一个包含缺失值的 DataFrame,使用 isna() 方法检测这些缺失值,并观察了结果。此外,我们还发现 isna() 方法不会将空字符串视为空值。此方法在处理 Pandas DataFrame 中的缺失数据时非常有用。


如果你需要进一步的帮助,请告诉我。