关键词

检查Pandas数据框架中的NaN

Pandas 中,NaN 是指 Not a Number,代表缺失值或无效值。检查 Pandas 数据框架中的 NaN 是数据预处理中重要的一步。下面介绍如何进行完整的 NaN 检查:

1. 查看数据框架中的缺失值

可以使用 isnull()isna() 函数查看数据框架中缺失值的情况。这两个函数的作用相同,都返回一个布尔型数组,表示数据框架中缺失值的位置。

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, np.nan], 'C': [7, 8, 9]})
print(df.isnull())
print(df.isna())

输出结果:

       A      B      C
0  False  False  False
1  False   True  False
2   True   True  False

       A      B      C
0  False  False  False
1  False   True  False
2   True   True  False

从上面的结果可以看出,df.isnull()df.isna() 返回了一个与原始数据框架维度相同的数据框架,其中缺失值的位置为 True,非缺失值的位置为 False

2. 统计数据框架中缺失值的数量

可以使用 isnull().sum()isna().sum() 函数统计缺失值的数量。这两个函数的作用相同,均返回每列中缺失值的数量。

print(df.isnull().sum())
print(df.isna().sum())

输出结果:

A    1
B    2
C    0
dtype: int64

A    1
B    2
C    0
dtype: int64

从上面的结果可以看出,在 df 中,A 列有 1 个缺失值,B 列有 2 个缺失值,C 列没有缺失值。

3. 统计数据框架中非缺失值的数量

可以使用 count() 函数统计数据框架中非缺失值的数量。

print(df.count())

输出结果:

A    2
B    1
C    3
dtype: int64

从上面的结果可以看出,在 df 中,A 列有 2 个非缺失值,B 列有 1 个非缺失值,C 列有 3 个非缺失值。

4. 删除数据框架中的缺失值

可以使用 dropna() 函数删除数据框架中的缺失值。该函数返回一个新的数据框架,其中缺失值所在的行或列被删除。

print(df.dropna()) # 删除含缺失值的行
print(df.dropna(axis=1)) # 删除含缺失值的列

输出结果:

     A    B  C
0  1.0  4.0  7

   C
0  7
1  8
2  9

从上面的结果可以看出,df.dropna() 删除了第二行,包含缺失值的列被全部删除;df.dropna(axis=1) 删除了 B 列和 C 列,因为它们都含有缺失值。

以上就是关于检查 Pandas 数据框架中的 NaN 的完整攻略和实例说明。

本文链接:http://task.lmcjl.com/news/14509.html

展开阅读全文