Pandas DataFrame Isnull 方法

PandasPandasBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,我们将学习如何在 pandas 中使用 DataFrame.isnull() 方法。该方法用于检测 DataFrame 中的缺失值。将此方法应用于 DataFrame 时,它会返回一个布尔值的 DataFrame,其中 True 表示该元素为空值,False 表示该元素不是空值。需要注意的是,此方法不会将空字符串或 numpy.inf 视为空值。

虚拟机提示

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) pandas(("Pandas")) -.-> pandas/DataManipulationGroup(["Data Manipulation"]) pandas(("Pandas")) -.-> pandas/DataCleaningGroup(["Data Cleaning"]) python/BasicConceptsGroup -.-> python/booleans("Booleans") pandas/DataManipulationGroup -.-> pandas/change_data_types("Changing Data Types") pandas/DataCleaningGroup -.-> pandas/handle_missing_values("Handling Missing Values") python/ModulesandPackagesGroup -.-> python/using_packages("Using Packages") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") python/PythonStandardLibraryGroup -.-> python/data_serialization("Data Serialization") python/DataScienceandMachineLearningGroup -.-> python/data_analysis("Data Analysis") subgraph Lab Skills python/booleans -.-> lab-68641{{"Pandas DataFrame Isnull 方法"}} pandas/change_data_types -.-> lab-68641{{"Pandas DataFrame Isnull 方法"}} pandas/handle_missing_values -.-> lab-68641{{"Pandas DataFrame Isnull 方法"}} python/using_packages -.-> lab-68641{{"Pandas DataFrame Isnull 方法"}} python/data_collections -.-> lab-68641{{"Pandas DataFrame Isnull 方法"}} python/data_serialization -.-> lab-68641{{"Pandas DataFrame Isnull 方法"}} python/data_analysis -.-> lab-68641{{"Pandas DataFrame Isnull 方法"}} end

创建 DataFrame

让我们从创建一个包含一些缺失值的 DataFrame 开始。我们将使用 pandas 的 pd.DataFrame 函数和 numpy 的 np.nan 常量。

## 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'))

这将创建一个包含四列('a', 'b', 'c', 'd')和三行的 DataFrame。DataFrame 中包含由 np.nan 表示的缺失值。

检测缺失值

现在,我们将使用 DataFrame.isnull() 方法来检测 DataFrame 中的缺失值。

## Detecting missing values in the DataFrame
missing_values = df.isnull()

## Printing the DataFrame with missing values
print(missing_values)

这将返回一个由布尔值组成的 DataFrame,其中每个布尔值对应原始 DataFrame 中的一个元素。True 表示该元素是缺失值(np.nan),而 False 表示该元素不是缺失值。

将空字符串视为缺失值

默认情况下,DataFrame.isnull() 方法不会将空字符串视为缺失值。如果你希望将空字符串视为缺失值,可以在使用该方法之前将其替换为 np.nan

## Replacing empty strings with np.nan
df = df.replace('', np.nan)

## Detecting missing values in the DataFrame
missing_values = df.isnull()

## Printing the DataFrame with missing values
print(missing_values)

现在,空字符串将被视为缺失值,并返回一个布尔值的 DataFrame,指示缺失值的存在。

总结

在本实验中,我们学习了如何在 pandas 中使用 DataFrame.isnull() 方法来检测 DataFrame 中的缺失值。我们看到,该方法返回一个布尔值的 DataFrame,其中 True 表示缺失值,False 表示非缺失值。我们还了解到,默认情况下,空字符串不会被视作缺失值,但可以通过在使用该方法之前将其替换为 np.nan 来将其视为缺失值。此方法在数据分析和机器学习项目中的数据清洗和预处理任务中非常有用。