1. 解题思路

要判断数据集的每列是否有空值,首先肯定会想到用isnull()/isna()方法;但是别忘了题目的要求是判断每列是否有空值,而不是判断数据集是否有空值。所以如果你一开始只用了df.isnull(),那么最后返回的是整个数据集df是否有空值的判断,即它会显示每一行和每一列的True(有空值)和False(没有空值)

正确的解题思路是还要在后面加上一个any()函数,也就是df.isnull().any()。表示该列中存在任意一个空值,它就会返回True;否则返回False。 (思考一下为何不是all()? 最后会给出答案)

2. 考察知识点

  • isnull().any()的综合运用
  • 区别isnull().all()的用法

3. 参考代码

import pandas as pd

df = pd.read_csv('Nowcoder.csv')
print(df.isnull().any())

alt

4. 延伸思考

如果df.isnull()后面接all()函数,就会对数据集每一列的全部数值进行空值判断只有该列全部数值都为空值,这一列才会返回True;否则就返回False。