缺失值是数据分析中一个常见的问题,因为在许多情况下,我们的数据集中会存在缺失数据。这些缺失值可能会导致分析结果偏差或错误,因此需要进行缺失值处理。下面介绍四种常见的缺失值处理方法:前向填充、移动平均、指数平滑、线性插值
1、前向填充(Forward Filling):使用前面最近的一个已知值来填充缺失值。当有多个连续的缺失值时,该方法将使用上一个已知值来填充所有缺失值,直到遇到下一个已知值。
# 构建一列随机缺失值列
unemploy['missing'] = unemploy['rate']
# unemploy.head()
# 随机选择10%行手动填充缺失值
mis_index = unemploy.sample(frac=0.1,random_state=999).index # 获取缺失值所在的行标签
# mis_index 将存在缺失值的单元格转换为None
unemploy.loc[mis_index,'missing']=None
unemploy['f_fill'] = unemploy['missing']
unemploy['f_fill'].ffill(inplace=True) # 默认实现前向填充
# 然后绘制散点--折线图实现观察
# 首先绘制关于date——rate散点图
plt.scatter(unemploy.year,unemploy.rate,s=10)
plt.plot(unemploy.year,unemploy.rate,label='real')
# 将非缺失点用“红点”绘制出来;缺失点用“倒三角”绘制出来
plt.scatter(unemploy[~unemploy.index.isin(mis_index)].year,unemploy[~unemploy.