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