欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

缺失值的前期处理

程序员文章站 2024-03-01 18:19:34
...

建立模型的时候,我们对于缺失值太大的特征需要删除,否则还可以对我们造成噪音数据。
对于缺失值的处理,一般来说先判定缺失的数据是否有意义。
从确实信息可以发现,本次数据集缺失值较多的属性对我们模型预测意义不大。
统计每列属性缺失值的数量,删除缺失值过高的比例的函数。
为此本人写了函数如下:

def null_ratio(data, ratiolimit = 0.4):
    #删除缺失值过高的比例的函数
    df_null = data.isnull().sum(axis=0).sort_values(ascending=False)/float(len(data))
    null_ratio = pd.DataFrame(df_null)
    null_ratio = null_ratio.reset_index() #重置索引
    null_ratio = null_ratio.rename(columns = {'index':'Col', 0:'value_retio'}, copy = False)    
    df_nullre = null_ratio[null_ratio.value_retio < ratiolimit] #删掉缺失值比例>0.4的特征   
    refesh_data = data[list(df_nullre['Col'])] 
    return refesh_data

调用函数:

df1 = null_ratio(df)
相关标签: 数据