如何在 Pandas 中计算 NaN 值的数量?

让我们来探讨一下如何在 Pandas DataFrame 中计算 NaN 值的数量。在 Pandas 中,NaN(非数字)值代表了 DataFrame 中的缺失数据。

计算 Pandas DataFrame 中每一列的 NaN 值

要找出每一列中缺失(NaN)值的数量,我们可以使用 INLINECODE36cb91bd 函数配合 INLINECODE7fade511 函数。这将为我们提供每列中 NaN 值的计数。

Python

import pandas as pd
import numpy as np

# 示例数据集
data = {
    ‘A‘: [1, 2, np.nan, 4],
    ‘B‘: [np.nan, 2, np.nan, 3],
    ‘C‘: [1, np.nan, np.nan, np.nan]
}
df = pd.DataFrame(data)

# 计算每一列的 NaN 数量
column_nan_count = df.isnull().sum()
print("每列的 NaN 计数:")
print(column_nan_count)

INLINECODEb6622860locINLINECODEd11061c9ilocINLINECODE77fbf53aisnull().sum()INLINECODE10166eb6

输出:

****第一行的 NaN 计数:**** 1

计算整个 DataFrame 中的 NaN 值

要获取整个 DataFrame 中 NaN 值的总计数,我们可以使用 isnull().sum().sum()。这会先计算每列的 NaN 总数,然后将这些总数相加以获得整体计数。

Python

# 计算 DataFrame 中的总 NaN 数量
total_nan_count = df.isnull().sum().sum()
print("总 NaN 计数:", total_nan_count)

INLINECODE093d5fcbisna()INLINECODE5175f828isna()INLINECODE1a7cdbb8isnull()INLINECODE77b9b802

输出:

****使用 isna() 的每列 NaN 计数:****
A    1
B    2
C    3
dtype: int64

使用 describe() 查找每列中的非 NaN 值

describe() 方法提供了每列的快速概览,包括非 NaN 的计数。从总行数中减去这个计数就可以得出 NaN 的数量。

Python

# 使用 describe() 获取额外见解
non_nan_count = df.describe().loc[‘count‘]
nan_count_using_describe = len(df) - non_nan_count
print("使用 describe() 的每列 NaN 计数:")
print(nan_count_using_describe)

INLINECODE2857df6eisna().any()INLINECODE1719e9d3

输出:

****包含 NaN 值的列:****
A    True
B    True
C    True
dtype: bool

2. 检查是否有任何 NaN 值的行

要检查哪些行包含 NaN 值,可以使用 isna().any(axis=1),它会沿着行轴进行检查。

Python

rows_with_nan = df.isna().any(axis=1)
print("包含 NaN 值的行") 
print(rows_with_nan)

`

输出:

包含 NaN 值的行
0    True
1    True
2    True
3    True
dtype: bool

了解如何计算和定位数据中的 NaN 对于数据清洗和预处理至关重要。

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