python DataFrame缺失值填充2

在做具体的分析工作的时候,训练集中往往既存在分类变量又存在连续变量,且因各种各样的原因,数据中存在大量的缺失,给后期的建模工作带来麻烦,现在把自己打磨好的缺失值补充函数总结在此,为后续的使用提供方便。

#### 用均值填充其连续型的缺失值,用众数填充分类变量的缺失值
def dataDealNan(df_data):
    # O_index 连续型变量名称; C_index:离散型变量名称
    O_index , C_index  = distinguish_Char_Num(df_data)
    ## 对离散型变量用众数进行填充缺失
    for col_name in  C_index:
        ## 需要注意的是分类变量的mode()取值为pandas.core.series.Series类型,需要提取才可以使用
        df_data[col_name] = df_data[col_name].fillna(df_data.loc[df_data[col_name].isnull() == False ,col_name].mode()[0])
        ## 对数值型变量的空值用均值填充
    for col_name in  O_index:
        df_data[col_name] = df_data[col_name].fillna(df_data.loc[df_data[col_name].isnull() == False ,col_name].mean())
    return df_data

你可能感兴趣的:(work)