这是我的第334篇原创文章。
一、引言
对于从事数据相关工作的小伙伴,面试的时候经常会被问到如何进行缺失值/异常值的处理,本文来梳理一下填补数值型缺失值的7种方法。
二、实现过程
准备数据
df = pd.read_csv(data.csv) df.drop("id",axis=1,inplace=True) print(数据:, df, sep=\n)df:

查看缺失值情况
整体确实情况:
print(数据缺失值情况:, df.isnull().sum(), sep=\n)数值型数据缺失情况:
cat_cols = [col for col in df.columns if df[col].dtype == "object"] # 类别型变量名 num_cols = [col for col in df.columns if df[col].dtype != "object"] # 数值型变量名 print(cat_cols) print(num_cols) print(数值型数据缺失情况:, df[num_cols].isnull().sum(), sep=\n)2.1 均值填充
df[num_cols] = df[num_cols].fillna(df[num_cols].mean())2.2 中位数填充
df[num_cols] = df[num_cols].fillna(df[num_cols].median())2.3 众数填充
df[num_cols] = df[num_cols].fillna(df[num_cols].mode().iloc[0])2.4 前后数据填充
df[num_cols] = df[num_cols].fillna(method=bfill)df[num_cols] = df[num_cols].fillna(method=bfill)2.5 自定义填充
略
2.6 interpolate()插值方法填充
df[num_cols] = df[num_cols].interpolate()2.7 机器学习预测填充
略
原文链接: