python检查数据缺失值,输出变量名和缺失率
需求背景描述
前同事遇到的一道笔试题,虽然不难,但是觉得可能会遇到,记录一下。
题目为可以分为已知条件和需求:
条件:所有缺失值目前是空或者填充为‘空’,
需求:所有变量无缺失值,打印’所有变量无缺失值’;如果有缺失值,则输出变量名称和缺失比率
代码如下
编写函数如下:
def check_na(data):
'''
填入数据即可
'''
null_val_sums = data.isnull().sum() +data.isin(['空']).sum()#统计每个列有多少缺失值
per_null = list(null_val_sums.values / len(df_data)) #计算缺失率
total = 0
for ele in range(0, len(per_null)):
total = total + per_null[ele]
if total == 0:
print('所有变量无缺失值')
else:
for i in range(len(per_null)):
if per_null[i]!=0:
print(list(data)[i],per_null[i])
return
check_na(df_data)
上述函数填入数据即可使用