欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

dataframe 离群值处理

程序员文章站 2022-03-29 08:13:42
...

离群值:远离数据主要部分的样本(极大值或极小值)
处理方式:

  • 删除:直接删除离群样本

  • 填充样本:使用box-plot定义变量的数值上下界,以上界填充极大值,以下界填充最小值

# 查看房价的离群情况
df['average_price'].hist()
plt.show()
df[['average_price']].boxplot()
plt.show()

dataframe 离群值处理

# 根据箱线图的上下限进行异常值的填充
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 数据处理