在 Pandas 中,NaN 是指 Not a Number,代表缺失值或无效值。检查 Pandas 数据框架中的 NaN 是数据预处理中重要的一步。下面介绍如何进行完整的 NaN 检查:
可以使用 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
。
可以使用 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 列没有缺失值。
可以使用 count()
函数统计数据框架中非缺失值的数量。
print(df.count())
输出结果:
A 2
B 1
C 3
dtype: int64
从上面的结果可以看出,在 df 中,A 列有 2 个非缺失值,B 列有 1 个非缺失值,C 列有 3 个非缺失值。
可以使用 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