#异常值是指样本中的个别值,其数值明显偏离其余的观测值。

#异常值也称离群点,异常值的分析也称为离群点的分析

#异常值分析 → 3σ原则 / 箱型图分析

#异常值处理方法 → 删除 / 修正填补

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

from scipy import stats

% matplotlib inline

# 异常值分析

# (1)3σ原则:如果数据服从正态分布,异常值被定义为一组测定值中与平均值的偏差超过3倍的值 → p(|x - μ| > 3σ) ≤ 0.003

u = data.mean() # 计算均值

std = data.std() # 计算标准差

stats.kstest(data, 'norm', (u, std))

print('均值为:%.3f,标准差为:%.3f' % (u,std))

fig = plt.figure(figsize = (10,6))

ax1 = fig.add_subplot(2,1,1)

data.plot(kind = 'kde',grid = True,style = '-k',title = '密度曲线')

plt.axvline(3*std,hold=None,color='r',linestyle="--",alpha=0.8)

plt.axvline(-3*std,hold=None,color='r',linestyle="--",alpha=0.8)

# 绘制数据密度曲线

error = data[np.abs(data - u) > 3*std]

data_c = data[np.abs(data - u) <= 3*std]

print('异常值共%i条' % len(error))

# 筛选出异常值error、剔除异常值之后的数据data_c

ax2 = fig.add_subplot(2,1,2)

plt.scatter(data_c.index,data_c,color = 'k',marker='.',alpha = 0.3)

plt.scatter(error.index,error,color = 'r',marker='.',alpha = 0.5)

plt.xlim([-10,10010])

plt.grid()

# 图表表达

image.png

# (2)箱型图分析

fig = plt.figure(figsize = (10,6))

ax1 = fig.add_subplot(2,1,1)

color = dict(boxes='DarkGreen', whiskers='DarkOrange', medians='DarkBlue', caps='Gray')

data.plot.box(vert=False, grid = True,color = color,ax = ax1,label = '样本数据')

# 箱型图看数据分布情况

# 以内限为界

image.png

s = data.describe()

print(s)

print('------')

# 基本统计量

q1 = s['25%']

q3 = s['75%']

iqr = q3 - q1

mi = q1 - 1.5*iqr

ma = q3 + 1.5*iqr

print('分位差为:%.3f,下限为:%.3f,上限为:%.3f' % (iqr,mi,ma))

[output]:

count 10000.000000

mean 0.594413

std 100.300761

min -403.701752

25% -67.282512

50% 0.169174

75% 68.517439

max 371.346823

dtype: float64

------

分位差为:135.800,下限为:-270.982,上限为:272.217

ax2 = fig.add_subplot(2,1,2)

error = data[(data < mi) | (data > ma)]

data_c = data[(data >= mi) & (data <= ma)]

print('异常值共%i条' % len(error))

# 筛选出异常值error、剔除异常值之后的数据data_c

plt.scatter(data_c.index,data_c,color = 'k',marker='.',alpha = 0.3)

plt.scatter(error.index,error,color = 'r',marker='.',alpha = 0.5)

plt.xlim([-10,10010])

plt.grid()

# 图表表达

image.png

python异常值处理代码_python —— 异常值处理相关推荐

  1. python视频处理代码_python如何实现视频转代码视频

    本文实例为大家分享了python如何实现视频转代码视频的具体代码,供大家参考,具体内容如下 # -*- coding:utf-8 -*- #coding:utf-8 import argparse i ...

  2. python五边形的代码_python正五边形代码

    python正五边形代码 第一步先找规律,抽象化问题.首先我们观察到,第一行为[1],我们直接赋给一个变量:初始化数列 p = [1].核心点是这个除去首位两个 [1] 的中间部分:[p[0] + p ...

  3. python阶乘的代码_python编码阶乘

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 需求:阶乘:也是数学里的一种术语: 阶乘指从1乘以2乘以3乘以4一直乘到所要求的 ...

  4. python画花朵代码_python画花朵代码分享

    python画花朵代码分享 发布时间:2020-05-09 15:36:11 来源:亿速云 阅读:295 作者:小新 这篇文章主要为大家详细介绍了python画花朵代码,文中示例代码介绍的非常详细,具 ...

  5. python 论坛爬虫代码_python博客文章爬虫实现代码

    例子,python网页爬虫实例,实现博客文章抓取的python爬虫. 代码示例: #!/usr/bin/python #-*-coding:utf-8-*- # JCrawler # Author: ...

  6. python异常值均值填充_Python 异常值分析

    异常值分析是检验数据是否有录入错误以及含有不合常理的数据.忽视异常值的存在是十分危险的,不加剔除地把异常值包括进数据的计算分析过程中,对结果会产生不良影响:重视异常值的出现,分析其产生的原因,常常成为 ...

  7. python异常值处理实例_Python异常值处理与检测

    缺失值处理 pandas判断缺失值一般采用 isnull(),然而生成所有数据的true.false矩阵,对于庞大的数据很难一眼看出缺失数据的位置. 缺失值查看 测试数据采用了随机生成. >&g ...

  8. python求最大值代码_python 最大值

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 推荐使用腾讯云 api 配套的 7 种常见的编程语言 sdk,已经封装了签名和请 ...

  9. python灰色模型代码_python 实现 灰色预测 GM(1,1)模型 灰色系统 预测 灰色预测公式推导...

    来源公式推导连接 关键词:灰色预测 python 实现 灰色预测 GM(1,1)模型 灰色系统 预测 灰色预测公式推导 一.前言 本文的目的是用Python和类对灰色预测进行封装 二.原理简述 1.灰 ...

最新文章

  1. python输出所有组合数_生成两个列表的所有组合,并在python中一一输出
  2. JavaScript的一些实用技巧收藏
  3. 阿里巴巴Java开发规约插件p3c
  4. Mac OS X snow leopard 10.6 VMware安装
  5. ASP.NET Core Web API/MVC应用中间件中的Cookie记录
  6. 利用Easy-Rules实现动态业务规则
  7. 直播app系统源码,简单的登录界面(登录、注册、记住密码等按键)
  8. ERStudio使用细则
  9. java fakepath_解决文件上传取不到真实路径问题(fakepath)
  10. bilibili缓存视频批量转换成mp4格式,方便学习
  11. Scrum和TFS2010
  12. 公众平台模板消息所在行业_微信公众号模板消息群发常见问题汇总
  13. 1.3Excel--公式
  14. js截取字符串第一个和最后一个字符
  15. 完全不懂SEO怎样入手做网站优化
  16. 哥德尔递归汉译和原始递归——哥德尔原著英译拆解汉译之七
  17. QT5界面(窗口)之间传递参数
  18. 计算机配置两个显卡,如何设置台式机双显卡
  19. 初级会计实务--第三章第二节、应付及预收账款
  20. 一个想法:成立草根技术联盟对开发人员进行技术定级解决企业员工招聘难问题!

热门文章

  1. redis将散裂中某个值自增_Redis中hash表中的field的value自增可以用hincrby
  2. 磁盘数据恢复怎么做?实用方法快收藏!
  3. y7000 联想的bios怎么进入
  4. linux内核做界面,基于linux内核制作linux系统
  5. AAS10.0控制台访问问题
  6. 专业的谈谈0~255,16~235的产生和历史及合理设置,专业叫法Y/C伸张压缩
  7. mysql 钩子_php中的钩子理解及应用实例分析
  8. 知网收藏的文献在哪里看
  9. 新手玩硬件,买单片机还是树莓派?
  10. linux延时关机提示信息,图文细说linux定时关机命令【解决方法】