Pandas 在数据框中突出 NaN 值

Pandas 在数据框中突出 NaN 值

在数据分析中,处理不完整或丢失的数据是一个常见的挑战,解决这个问题的初始步骤是识别 pandas 数据框中的 NaN(缺失)值。在 Pandas 数据框中,这些缺失值通常表示为 NaN(非数字)值,可能是由于数据输入、提取或处理过程中的错误等原因导致的。然而,检测和定位这些 NaN 值可能非常困难,特别是在处理大型数据集时。

幸运的是,Pandas 提供了多种有效的技术来检测和处理缺失值。本文将探讨多种方法来识别 Pandas 数据框中的 NaN 值,包括使用内置函数如 isna()、notna() 和 info(),以及使用高级方法如热力图可视化缺失数据。

如何突出 Pandas 数据框中的 NaN 值

为了识别 Pandas 数据框中的 NaN 值,我们可以通过使用内置函数和高级方法来采用各种方法。让我们深入了解这些技术的细节 −

内置函数

方法 1: isna()

此函数返回与输入相同形状的数据框,其中每个元素如果是 NaN 值,则为 True,否则为 False。您可以使用此函数来识别缺失值的位置。

isna() 函数返回与输入相同形状的数据框,其中每个元素如果是 NaN 值,则标记为 True,否则为 False。您可以使用此函数来识别缺失值的位置。

示例

import pandas as pd

# Creating a sample DataFrame
data = {'Column1': [1, 2, None, 4, 5], 'Column2': [6, None, 8, 9, 10]}
df = pd.DataFrame(data)

# Using isna() to identify NaN values
nan_df = df.isna()
print(nan_df)

输出

Column1  Column2
0    False    False
1    False     True
2     True    False
3    False    False
4    False    False

在生成的DataFrame中,True值表示缺失值的存在,而False值表示非缺失值或NaN。

方法2:notna()

与isna()类似,该函数也返回具有相同形状的DataFrame。然而,如果元素不是NaN值,则将每个元素标记为True,如果是缺失值,则标记为False。

要应用notna(),只需在DataFrame或特定列上调用即可。生成的DataFrame将与原始数据具有相同的形状,True值表示非缺失值,False值表示缺失值。

示例

import pandas as pd

# Creating a sample DataFrame
data = {'Column1': [1, 2, None, 4, 5], 'Column2': [6, None, 8, 9, 10]}
df = pd.DataFrame(data)
# Using notna() to identify non-NaN values
notnan_df = df.notna()
print(notnan_df)

输出

Column1  Column2
0     True     True
1     True    False
2    False     True
3     True     True
4     True     True

在生成的DataFrame中,True值表示存在非缺失值,而False值表示缺失值或NaN。这种方法对于过滤、条件操作或检查Pandas DataFrame中数据的完整性非常有用。

方法3:info()

该方法提供了DataFrame的摘要,包括每列非空值的数量。通过检查这个摘要,您可以轻松地识别出有缺失值的列。非空值计数较低的列表示存在NaN值。

示例

import pandas as pd

# Creating a sample DataFrame
data = {'Column1': [1, 2, None, 4, 5], 'Column2': [6, None, 8, 9, 10]}
df = pd.DataFrame(data)
# Using info() to get the summary
df.info()

输出

RangeIndex: 5 entries, 0 to 4
Data columns (total 2 columns):
 #   Column   Non-Null Count  Dtype  
---  ------   --------------  -----  
 0   Column1  4 non-null      float64
 1   Column2  4 non-null      float64
dtypes: float64(2)
memory usage: 208.0 bytes

输出提供了关于DataFrame的信息,例如总行数(5),列名(’Column1’和’Column2’),非null值的计数(两列均为4),以及数据类型(float64)。此摘要有助于通过将非null计数与总行数进行比较,识别缺失值的列。

高级方法

方法4:热力图可视化

通过使用热力图对缺失数据进行可视化,您可以全面了解DataFrame中缺失值的分布情况。热力图使用颜色渐变来表示每个单元格中NaN值的存在与否,从而帮助您识别缺失数据的模式或聚类。

示例

import pandas as pd

# Creating a sample DataFrame
data = {'Column1': [1, 2, None, 4, 5], 'Column2': [6, None, 8, 9, 10]}
df = pd.DataFrame(data)
import matplotlib.pyplot as plt
import seaborn as sns

# Creating a heatmap of missing values
sns.heatmap(df.isna(), cmap='viridis')
plt.show()

输出

Pandas 在数据框中突出 NaN 值

生成的热图可视化数据框中缺失值的分布情况。黄色单元格表示存在缺失值(NaN),可以帮助您识别跨列和行的缺失数据的模式或聚类。这种可视化有助于理解数据集中缺失值的程度和位置。

结论

总之,在Pandas DataFrame中识别和突出显示NaN值对于数据分析至关重要。通过利用内置函数如isna()和notna(),以及高级方法如热图可视化,我们可以有效地检测和可视化缺失数据,从而实现准确的数据处理和明智的决策。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程