dataframe 离群值处理
程序员文章站
2022-03-29 08:13:42
...
离群值:远离数据主要部分的样本(极大值或极小值)
处理方式:
-
删除:直接删除离群样本
-
填充样本:使用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()
推荐阅读
-
python解决pandas处理缺失值为空字符串的问题
-
python DataFrame获取行数、列数、索引及第几行第几列的值方法
-
只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常
-
spark dataframe 将一列展开,把该列所有值都变成新列的方法
-
Pandas中NaN缺失值处理
-
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
-
pandas实现将dataframe满足某一条件的值选出
-
SQL Server 空值处理策略[推荐]
-
Python+OpenCV图片局部区域像素值处理详解
-
Python3.5 Pandas模块缺失值处理和层次索引实例详解