文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python使用箱型图剔除异常值

2023-09-11 12:18

关注

目录

箱型图

pandas.DataFrame.quantile

参数:

返回:(Series or DataFrame)

示例:

代码实现 

参考


箱型图

将一组数据从大到小排列,分别计算出,

上四分位数𝑄3: 75%分位点所对应的值

中位数𝑄2:         50%分位点对应的值

下四分位数𝑄1: 25%分位点所对应的值

上边缘(须):            Q3+1.5(Q3-Q1)

下边缘(须):            Q1-1.5(Q3-Q1)

数据𝑥的合理范围为:

𝑄1 − 1.5(𝑄3 − 𝑄1)  ≤  𝑥  ≤  𝑄3 + 1.5(𝑄3 − 𝑄1)

        和使用3σ准则剔除异常值相比,箱线图不需要数据服从正态分布,能真实直观的表现数据形状;箱线图以四分位数和四分位距作为判断异常值的标准,四分位数具有一定的耐抗性,多达 25%的数据可以变得任意远而不会很大地扰动四分位数,使得异常值无法对数据形状造成巨大影响,因此箱形图识别异常值的结果比较客观。


pandas.DataFrame.quantile

对于dataframe形式的数据,可以直接调用DataFrame.quantile(),以快速计算箱型图的分位点。
DataFrame.quantile(q=0.5, axis=0, numeric_only=True, interpolation='linear')

参数:

返回:(Series or DataFrame)

示例:

import pandas as pdimport numpy as np# 生成数据d = pd.DataFrame({"SO2":[-1000, 5, 5, 10, 9, 12, 11, 100],                     "NO2":[12, 52, 14, 10, 10, 23, 15, 9],                     "CO2":[15, 23, 0, 24, 25, 7, 4, 715],                     "O3":[17, 23, 33, 10000, 11, 47, 5, 22] })

 q 为 float:

 q 为 数组: 


代码实现 

# 箱型图判断异常点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

使用前文创建的数据

box_outlier(d)

 

参考

pandas.DataFrame.quantile

【PYTHON 机器学习】正态分布检验以及异常值处理3Σ原则

来源地址:https://blog.csdn.net/qq_57313910/article/details/127103346

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯