题目
下列对于缺失值的处理方法,正确的是?A. df.isnull()判断数据框是否存在缺失值B. df.isnull().any()检测每列是否有缺失值,如果存在缺失值将返回FalseC. df.isnull().sum()计算每列有多少缺失值D. df.isnull().sum()/df.shape[0]计算缺失值比例
下列对于缺失值的处理方法,正确的是?
A. df.isnull()判断数据框是否存在缺失值
B. df.isnull().any()检测每列是否有缺失值,如果存在缺失值将返回False
C. df.isnull().sum()计算每列有多少缺失值
D. df.isnull().sum()/df.shape[0]计算缺失值比例
题目解答
答案
ACD
A. df.isnull()判断数据框是否存在缺失值
C. df.isnull().sum()计算每列有多少缺失值
D. df.isnull().sum()/df.shape[0]计算缺失值比例
A. df.isnull()判断数据框是否存在缺失值
C. df.isnull().sum()计算每列有多少缺失值
D. df.isnull().sum()/df.shape[0]计算缺失值比例
解析
本题考查Pandas库中处理缺失值的方法,核心在于理解各个函数的使用逻辑。关键点包括:
df.isnull()的作用是生成布尔矩阵,标记缺失值位置,不能直接判断是否存在缺失值,需结合其他方法。df.isnull().any()对每列判断是否存在缺失值,若存在则返回True,否则返回False。df.isnull().sum()计算每列缺失值的数量。- 缺失值比例的计算需结合总行数
df.shape[0]。
选项A:df.isnull()判断数据框是否存在缺失值
- 分析:
df.isnull()返回一个布尔矩阵,仅标记缺失值位置,无法直接判断是否存在缺失值。若需判断,需进一步使用any()或sum()。 - 结论:错误,描述不准确。
选项B:df.isnull().any()检测每列是否有缺失值,如果存在缺失值将返回False
- 分析:
df.isnull().any()对每列判断是否存在缺失值,存在则返回True,否则返回False。选项中“返回False”与实际逻辑矛盾。 - 结论:错误。
选项C:df.isnull().sum()计算每列有多少缺失值
- 分析:
sum()对布尔矩阵求和,True(缺失值)计为1,False计为0,因此能正确统计每列缺失值数量。 - 结论:正确。
选项D:df.isnull().sum()/df.shape[0]计算缺失值比例
- 分析:
df.isnull().sum()得到每列缺失值数量,除以总行数df.shape[0]即为每列缺失值占比。 - 结论:正确。