离群值:远离数据主要部分的样本(极大值或极小值)
处理方式:
删除:直接删除离群样本
填充样本:使用box-plot定义变量的数值上下界,以上界填充极大值,以下界填充最小值
# 查看房价的离群情况
df['average_price'].hist()
plt.show()
df[['average_price']].boxplot()
plt.show()

# 根据箱线图的上下限进行异常值的填充
def boxplot_fill(col):
# 计算iqr:数据四分之三分位值与四分之一分位值的差
iqr = col.quantile(0.75)-col.quantile(0.25)
# 根据iqr计算异常值判断阈值
u_th = col.quantile(0.75) + 1.5*iqr # 上界
l_th = col.quantile(0.25) - 1.5*iqr # 下界
# 定义转换函数:如果数字大于上界则用上界值填充,小于下界则用下界值填充。
def box_trans(x):
if x > u_th:
return u_th
elif x < l_th:
return l_th
else:
return x
return col.map(box_trans)
# 填充效果查看
boxplot_fill(df['average_price']).hist()
# 进行赋值
df['average_price'] = boxplot_fill(df['average_price'])
plt.show()
版权声明:本文为weixin_42568012原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。