Python箱型图处理离群点的例子

首先我们简单地区分一下离群点(outlier)以及异常值(anomaly):

离群点:

异常值:

个人觉着异常值和离群点是两个不同的概念,当然大家在数据预处理时对于这两个概念不做细致的区分,不如:姚明站在我们中间的时候,我觉着我们只能说他是一个离群点,我们能说他异常吗?异常的假设是姚明得了巨人症,可是他不是。

箱型图

代码块

餐饮销售数据离群点检测代码:

#-*- coding: utf-8 -*-
import pandas as pd

catering_sale = '../data/catering_sale.xls' #餐饮数据
data = pd.read_excel(catering_sale, index_col = u'日期') #读取数据,指定“日期”列为索引列

import matplotlib.pyplot as plt #导入图像库
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号

plt.figure() #建立图像
p = data.boxplot(return_type='dict') #画箱线图,直接使用DataFrame的方法
x = p['fliers'][0].get_xdata() # 'fliers'即为离群点的标签
y = p['fliers'][0].get_ydata()
y.sort() #从小到大排序,该方法直接改变原对象

#用annotate添加注释
#其中有些相近的点,注解会出现重叠,难以看清,需要一些技巧来控制。
#以下参数都是经过调试的,需要具体问题具体调试。
for i in range(len(x)):
 if i > 0:
  plt.annotate(y[i], xy = (x[i],y[i]), xytext=(x[i]+0.05 -0.8/(y[i]-y[i-1]),y[i]))
 else:
  plt.annotate(y[i], xy = (x[i],y[i]), xytext=(x[i]+0.08,y[i]))

plt.show() #展示箱线图

运行结果:

以上这篇Python箱型图处理离群点的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python箱型图绘制与特征值获取过程解析

    这篇文章主要介绍了Python箱型图绘制与特征值获取过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较 如何利用Python绘制箱型图 需要的import的包 import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties import numpy as np import

  • Python箱型图处理离群点的例子

    首先我们简单地区分一下离群点(outlier)以及异常值(anomaly): 离群点: 异常值: 个人觉着异常值和离群点是两个不同的概念,当然大家在数据预处理时对于这两个概念不做细致的区分,不如:姚明站在我们中间的时候,我觉着我们只能说他是一个离群点,我们能说他异常吗?异常的假设是姚明得了巨人症,可是他不是. 箱型图 代码块 餐饮销售数据离群点检测代码: #-*- coding: utf-8 -*- import pandas as pd catering_sale = '../data/cat

  • Python调用Matplotlib绘制振动图、箱型图和提琴图

    目录 Matplotlib介绍 振动图 箱型图 提琴图 Matplotlib介绍 Matplotlib 是一款用于数据可视化的 Python 软件包,支持跨平台运行,它能够根据 NumPy  ndarray 数组来绘制 2D 图像,它使用简单.代码清晰易懂,深受广大技术爱好者喜爱. NumPy 是 Python 科学计算的软件包,ndarray 则是 NumPy 提供的一种数组结构. Matplotlib 由 John D. Hunter 在 2002 年开始编写, 2003 年 Matplot

  • 用python的seaborn画数值箱型图

    目录 一.概念介绍 二.数据展示 三.数据导入 四.画图 总结 一.概念介绍 箱型图(box-plot),又称为箱线图,盒型图,盒须图.在数据探索阶段或者描述性分析过程中,我们常常用于展示多类连续型数据的数值分布情况,便于类间对比和快速识别异常值. 在一幅箱型图中,一个连续数值序列构成一个盒子,如下所示. 每一个盒子主要展示的是数据的上四分位数Q1(25%),中位数(50%),下四分位数Q3(75%).划分异常值的界限我们称为上下极限,其离Q1,Q3分别是1.5IQR(IQR=Q3-Q1,称作四

  • python绘制箱型图

    本文实例为大家分享了python绘制箱型图的具体代码,供大家参考,具体内容如下 import numpy as np import pandas as pd import matplotlib.pyplot as plt # Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图. import seaborn as sns from scipy import stats import warni

  • Python利用matplotlib.pyplot.boxplot()绘制箱型图实例代码

    目录 一.matplotlib.pyplot.boxplot()语法 二.绘制箱型图 ①绘制简单箱型图 ②各个参数绘制箱型图 (1)notch参数(bool值,是否凹口的形式展现箱线图,默认值False非凹口) (2)sym(str,指定异常点的形状,默认为+号显示) (3)vert参数(bool值,是否需要将箱线图垂直摆放,默认True垂直摆放) (4)widths参数(float值,指定箱线图的宽度,默认值:0.5) (5)patch_artist(bool值,是否填充箱体颜色,默认值:Fa

  • Python数据可视化:箱线图多种库画法

    概念 箱线图通过数据的四分位数来展示数据的分布情况.例如:数据的中心位置,数据间的离散程度,是否有异常值等. 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分别为数据的第25%,50%和75%的数字. 四分位间距(Interquartilerange(IQR))=上分位数(upper quartile)-下分位数(lower quartile) 箱线图分为两部分,分别是箱(box)和须(whisker).箱(box)用来表示从第一分位到第三分位的数

  • Python pyecharts Boxplot箱线图的实现

    本篇博客只是单纯的记录一下自己学习Boxplot,没有过多的解释,官网:>>Boxplot import seaborn as sns import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 用来正常显示中文标签 p

  • Python编程matplotlib绘图挑钻石seaborn小提琴和箱线图

    目录 箱线图 小提琴图 想不到大家都这么喜欢用python给女朋友挑钻石,所以我又写了个续. 如果看过之前一篇用python给女朋友挑钻石的文章,那么可以直接从箱线图开始读. seaborn是matplotlib的补充包,提供了一系列高颜值的figure,并且集成了多种在线数据集,通过sns.load_dataset()进行调用,可供学习,如果网络不稳定,可下载到本地,然后在调用的时候使用把cache设为True. 其中,diamonds数据集中包含了钻石数据,总计十项,分别是[重量/克拉]ca

  • Python算法之图的遍历

    本节主要介绍图的遍历算法BFS和DFS,以及寻找图的(强)连通分量的算法 Traversal就是遍历,主要是对图的遍历,也就是遍历图中的每个节点.对一个节点的遍历有两个阶段,首先是发现(discover),然后是访问(visit).遍历的重要性自然不必说,图中有几个算法和遍历没有关系?! [算法导论对于发现和访问区别的非常明显,对图的算法讲解地特别好,在遍历节点的时候给节点标注它的发现节点时间d[v]和结束访问时间f[v],然后由这些时间的一些规律得到了不少实用的定理,本节后面介绍了部分内容,感

随机推荐