print(f'There are {data_train.isnull().any().sum()} columns in train dataset with missing values.')
>>> There are 22 columns in train dataset with missing values.
#上面得到训练集有22列特征有缺失值
1
2
3
df.isnull() 是元素级别的判断,可以用来查看每个单元格是否缺失(与sina()没有区别),isnull生成的是所有数据的true/false矩阵
isnull().any(),是列级别的判断,只要该列有为空或者NA的元素,就为True,否则False
使用all就是全部非缺失值,如果是any就是至少有一个不是缺失值
isnull().sum(),将列中为空的个数统计出来
3.2.2 进一步查看缺失特征中缺失率大于50%的特征
have_null_fea_dict = (data_train.isnull().sum()/len(data_train)).to_dict()
fea_null_moreThanHalf = {}
#生成列名为key其缺失率为value的字典,包括缺失率为0的列
for key,value in have_null_fea_dict.items():
if value > 0.5:
fea_null_moreThanHalf[key] = value
one_value_fea = [col for col in data_train.columns if data_train[col].nunique() <= 1]
one_value_fea_test = [col for col in data_test_a.columns if data_test_a[col].nunique() <= 1]
# one_value_fea,one_value_fea_test 返回的值都是['policyCode'],所以这一列参考价值不大,可去掉
————————————————
版权声明:本文为CSDN博主「颯沓」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_52037667/article/details/116171991