首页 > 编程语言 >python 异常值检测与处理——3倍标准差法

python 异常值检测与处理——3倍标准差法

时间:2025-01-12 10:03:18浏览次数:3  
标签:std plt python 检测 标准差 np data mean

目录

一、概述

   3 σ 3σ 3σ原则是一种基于正态分布的统计学原则,用于判断数据中的异常值。根据 3 σ 3σ 3σ原则,如果数据服从正态分布,那么大约有68%的数据值落在均值加减一个标准差范围内,大约有95%的数据值落在均值加减两个标准差范围内,大约有99.7%的数据值落在均值加减三个标准差范围内。因此,超出均值加减三个标准差范围的数据可以被视为异常值。

二、代码实现

import numpy as np
import matplotlib.pyplot as plt


# 创建正态分布的平均值(μ)和标准差(σ)
mu, sigma = 0, 1

# 生成一组服从正态分布的数据
random_numbers = np.random.normal(mu, sigma, 1000)
# 往随机数列列表中插入1个较大值,作为异常值
data = np.asarray(random_numbers)
# 应用3σ原则识别异常值
mean = np.mean(data)
std_dev = np.std(data)
lowThreshold = mean - 3 * std_dev
highThreshold = mean + 3 * std_dev
outliers = [x for x in data if x < lowThreshold or x > highThreshold]
print("异常值:",outliers)
# 删除异常值后的数据
clean_data = [x for x in data if x not in outliers]
# 可视化
# 箱型图
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.boxplot(data)
plt.xlabel('数据')
plt.title('数据和异常值')
plt.show()

三、结果展示

在这里插入图片描述

标签:std,plt,python,检测,标准差,np,data,mean
From: https://blog.csdn.net/qq_36686437/article/details/145088119

相关文章

  • Python 2和Python 3之间有哪些主要区别?
    Python2和Python3是Python编程语言的两个主要版本,它们在语法、功能和性能上存在显著差异。这些差异不仅影响了代码的编写方式,还对程序的运行效率和可维护性产生了深远的影响。以下将详细阐述Python2与Python3之间的主要区别,并提供相应的示例代码。1.打印函数的变化在Pyt......
  • python中如何在装饰器中使用闭包来保存状态?
    在Python中,装饰器是一种强大的工具,可以用来增强函数或方法的功能,而无需修改其原始代码。装饰器本质上是一个闭包,它接收一个函数作为参数,并返回一个新的函数。闭包的一个重要特性是能够保存其外部作用域中的变量,即使外部函数已经执行完毕。这种特性使得闭包非常适合用于装饰器中......
  • Python程序题:恺撒密码
    恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬......
  • 【Python应用】Python实现压缩和解压缩
    压缩和解压缩是日常常用的操作,不管是windows上图形界面的操作,还是linux上用命令来进行压缩解压缩,总的而言都还是比较方便的。但用代码来实现就没做过,近期也得实现代码压缩与解压缩操作,所以就抽时间来研究一下。一、zip文件压缩和解压缩实现importosimportzipfile#函数功......
  • js如何检测白屏?有哪些方法?
    在前端开发中,白屏通常指的是页面加载后内容没有正确显示,导致用户只看到一个空白的屏幕。检测白屏并采取相应的措施是提升用户体验的重要一环。以下是一些检测和处理白屏问题的方法:错误捕获和监控:使用window.onerror或window.addEventListener('error',...)来捕获JavaScript......
  • 使用javascript写个方法进行屏目切换检测
    在前端开发中,要检测屏幕切换(例如,用户从桌面屏幕切换到移动屏幕,或者从横屏切换到竖屏等),你可以使用window对象的resize事件。这个事件会在窗口大小发生变化时触发,因此可以用来检测屏幕切换。以下是一个简单的JavaScript方法,用于检测屏幕大小的变化:functiondetectScreenChange(){......
  • 如何检测到摄像头是否可用?
    在前端开发中,检测摄像头是否可用通常涉及几个关键步骤。以下是一些常用的方法和技巧:使用JavaScript的navigator.mediaDevicesAPI:这个API提供了访问用户媒体设备(如摄像头和麦克风)的功能。通过调用navigator.mediaDevices.getUserMedia({video:true}),可以尝试获取摄像头的......
  • 基于Python的南京某高校校园外卖点餐系统设计和实现
    ......
  • 小目标检测难点分析和解决策略
    目录一、背景二、检测难点三、主流改进方法3.1基于改进数据增强的小目标检测算法3.1.1监督数据增强方法3.1.2无监督数据增强方法3.2.基于改进特征提取的小目标检测算法3.2.1.扩张卷积3.2.2.特征增强3.2.3.多尺度特征提取3.2.4.注意力机制3.3基于改进特征......
  • 多个环境的anaconda中jupyter只有一个Python 3 (ipykernel)解决办法
    用anaconda打开jupyternotebook后发现,只有一个Python3(ipykernel),其他anaconda创造的虚拟环境都没法显示。解决方法:win+R调出cmd用condaenvlist调出总共有多少环境 再用activatename切换到想要的环境中,name为环境变量名然后在此环境中先输入pipinstallipykerne......