python使用箱型图剔除异常值

这篇具有很好参考价值的文章主要介绍了python使用箱型图剔除异常值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

箱型图

pandas.DataFrame.quantile

参数:

返回:(Series or DataFrame)

示例:

代码实现 

参考


箱型图

python使用箱型图剔除异常值

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

上四分位数𝑄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')

参数:

  • q:float or array-like, default 0.5 (50% quantile),0 ≤ q ≤ 1之间的值,即要计算的分位数;
  • axis:{0, 1, ‘index’, ‘columns’}, default 0,对于行,等于0或“索引”,对于列,等于1或“列”;
  • numeric_only:bool, default True,如果为False,则还将计算日期时间和时间增量数据的分位数;
  • interpolation:{‘linear’, ‘lower’, ‘higher’, ‘midpoint’, ‘nearest’},当所需分位数位于两个数据点i和j之间时,此可选参数指定要使用的插值方法。

返回:(Series or DataFrame)

  • 如果q是数组,则将返回DataFrame,其中index为q,列为self的列,值为分位数。
  • 如果q为float,则index是self的列,值为分位数

示例:

import pandas as pd
import 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:python使用箱型图剔除异常值

 q 为 数组: python使用箱型图剔除异常值


代码实现 

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

 python使用箱型图剔除异常值

参考

pandas.DataFrame.quantile

【PYTHON 机器学习】正态分布检验以及异常值处理3Σ原则文章来源地址https://www.toymoban.com/news/detail-404962.html

到了这里,关于python使用箱型图剔除异常值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python数据可视化玩转Matplotlib直方图、箱型图、密度图、正态分布、偏度和峰度

    目录 1. 直方图、箱线图和密度图 1.1 直方图 1.2 箱线图 1.3 密度图 2. 正态分布 3. 偏度和峰度 结论 直方图、箱线图和密度图是数据分析中十分常用的图形。它们可以帮助我们更好地理解数据的分布情况,从而更好地进行数据分析和处理。在这篇博客中,我们将介绍它们的基本

    2024年02月09日
    浏览(36)
  • 【matplotlib 实战】--箱型图

    箱型图(Box Plot),也称为盒须图或盒式图,1977年由美国著名统计学家约翰·图基(John Tukey)发明。 是一种用作显示一组数据分布情况的统计图,因型状如箱子而得名。 它能显示出一组数据的最大值、最小值、中位数及上下四分位数。 箱子的顶端和底端,分别代表上下四分

    2024年02月08日
    浏览(33)
  • plt绘制箱型图+散点图

    注意: 代码中有一个参数 zorder=1 ,这个参数是控制图层顺序的。如果不添加,散点会被箱型图遮盖。

    2024年02月12日
    浏览(34)
  • 数据可视化(5)热力图及箱型图

    1.热力图     2.箱型图     3.  

    2024年02月14日
    浏览(30)
  • 【数据分析入门】Seaborn[散点图、条形图、计数图、热力图、箱型图、小提琴图]

       Seaborn 是 基于 matplotlib 开发 的高阶 Python 数据可视图库 ,用于绘制优雅、美观的统计图形。   使用下列别名导入该库:    使用 Seaborn 创建图形的基本步骤 :   1. 准备数据 :我们要 确保绘制的数据集 。   2. 设定画布外观 :在创建图形之前,我们可以 设定画

    2024年02月09日
    浏览(39)
  • python剔除不合理值:3σ原则

            该准则仅局限于对正态或近似正态分布的样本数据处理,此外,当测量次数少的情形用准则剔除粗大误差是不够可靠的。 图中,μ为平均值,σ为标准差。 数值分布在(μ-σ,μ+σ)中的概率为0.6827 数值分布在(μ-2σ,μ+2σ)中的概率为0.9545 数值分布在(μ-3σ,μ+3σ)中的

    2024年02月02日
    浏览(26)
  • Python基于指定范围筛选并剔除Excel表格中的数据

      本文介绍基于 Python 语言,读取 Excel 表格文件,基于我们给定的规则,对其中的数据加以 筛选 ,将 不在指定数据范围内 的数据剔除,保留 符合我们需要 的数据的方法。   首先,我们来明确一下本文的具体需求。现有一个 Excel 表格文件(在本文中我们就以 .csv 格式

    2024年02月08日
    浏览(41)
  • Eureka(服务注册和发现)——Eureka的简介和原理 & Eureka的使用和分析 & 心跳续约策略,服务的下线和剔除,自我保护 & Eureka集群的搭建

    Eureka:服务注册与发现组件,用于实现服务的自动注册与发现,Spring Cloud Eureka 是对Netflix公司的Eureka的二次封装,它实现了服务治理的功能,Spring Cloud Eureka提供服务端与客户端,服务端即是Eureka服务注册中心,客户端完成微服务向Eureka服务的注册与发现。服务端和客户端均采

    2024年02月05日
    浏览(29)
  • Python 的运算符和语句(条件、循环、异常)基本使用指南

    算数运算符 赋值运算符 复合赋值运算符 比较运算符 逻辑运算符 算数运算符 运算符 描述 实例 + 加 1 + 1 输出结果为 2 - 减 1 - 1 输出结果为 0 * 乘 2 * 2 输出结果为 4 / 除 10 / 2 输出结果为 5 // 整除 9 // 4 输出结果为 2 % 取余 9 % 4 输出结果为 1 ** 指数 2 ** 4 输出结果为 16, 2 * 2

    2024年02月07日
    浏览(49)
  • 在Python中,使用try-except-finally块处理异常

    在Python中,异常处理是一种重要的编程技术。当程序运行时发生错误或异常时,使用try-except-finally块可以优雅地处理这些异常,避免程序崩溃或产生不可预料的结果。 try-except-finally块的基本语法如下: 在上述代码中,try块中包含可能会触发异常的代码。如果try块中的代码正

    2024年02月13日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包