python使用箱型图剔除异常值的实现方法(十大少儿编程教育品牌)这样也行?

随心笔谈9个月前发布 admin
205 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

这篇文章介绍了一种使用箱型图判断异常点的Python代码。该代码定义了一个函数`box_outlier`,用于从数据中识别并删除异常点。函数的主要步骤如下: 1. 对数据进行深度拷贝。 2. 遍历每一列,计算列的下四分位数(Q1)和上四分位数(Q3)。 3. 计算下边缘(`low_whisker`)和上边缘(`up_whisker`)。 4. 根据箱型图规则判断异常点(即数据点超出边缘范围的点),并记录这些异常点的索引。 5. 删除包含异常点的数据行,并返回处理后的新 DataFrame。 文章重点突出了通过四分位数和四分位距计算异常点,以及如何删除异常数据,适用于数据清洗和预处理任务。

# 箱型图判断异常点
def box_outlier(data):
df=data.copy(deep=True)
out_index=[]
for col in df.columns: # 对每一列分别用箱型图进行判断
Q1=df[col].quantile(q=0.25) # 下四分位
Q3=df[col].quantile(q=0.75) # 上四分位
low_whisker=Q1 – 1.5 * (Q3 – Q1) # 下边缘
up_whisker=Q3 + 1.5 * (Q3 – Q1) # 上边缘
# 寻找异常点,获得异常点索引值,删除索引值所在行数据
rule=(df[col] > up_whisker) | (df[col] < low_whisker)
out=df[col].index[rule]
out_index +=out.tolist()
df.drop(out_index, inplace=True)
return df

© 版权声明

相关文章