箱线图作用-python实践-异常值识别

文章目录

    • 一、别名
    • 二、历史
    • 三、定义
    • 四、作用
      • (1)识别异常值
      • (2)判断偏态
      • (3)评估数据集中程度
    • 五、用python绘制箱线图
  • 参考

一、别名

箱须图、箱形图、盒图、盒须图、盒式图、盒状图

Box plot、Box-whisker Plot

二、历史

箱线图因形状如箱子而得名。1977年,美国著名数学家John W. Tukey首先在他的著作《Exploratory Data Analysis》中介绍了箱形图。

三、定义

假设一组数据有n个数,将它们从小到大排列,分为四等分。位于第25%(n+1)位置的数字是第一四分位数Q1。位于第50%(n+1)位置的数字是第二四分位数Q2,也是中位数。位于第75%(n+1)位置的数字是第三四分位数Q3。第三四分位数与第一四分位数的差值称为四分位距IQR,IQR=Q3-Q1。

在箱线图中,箱子的中间有一条线,代表了数据的中位数。箱子的上底是第三四分位数Q3,下底是第一四分位数Q1。所以箱体包含了50%的数据。箱体的上面有一条线,值为Q3+1.5IQR,称为上限。箱体的下面也有一条线,值为Q1-1.5IQR,称为下限。上限是非异常范围的最大值,下限是非异常范围的最小值,即正常范围是[Q1-1.5IQR,Q3+1.5IQR],也是[2Q1-1.5Q3,2Q3-1.5Q1]。超过该正常范围的就是异常值

若25%(n+1),50%(n+1),75%(n+1)为整数,则取该位置的数值为四分位数。若其中之一为小数,则按照以下规则计算:

假设25%(n+1)=4.5,则Q1=0.25×第4项+0.75×第5项;

假设50%(n+1)=4.5,则Q2=0.5×第4项+0.5×第5项;

假设75%(n+1)=4.5,则Q3=0.75×第4项+0.25×第5项;

四、作用

箱线图在使用场景上最常见的是用于质量管理人事测评探索性数据分析等统计分析活动。

(1)识别异常值

异常值是指数据中远离其他大部分值的数据。

箱线图的大小是由数据升序排列后,中间的50%个数据决定的。因此前25%个数据和后25%个数据都没法影响箱线图,它们可以变得任意远,但不会扰动四分位值,所以异常值不会影响箱线图的形状。

(2)判断偏态

偏态是指与正态分布相对,非对称分布的偏斜状态。若平均数大于众数,则为右偏态(正偏态);若平均数小于众数,则为左偏态(负偏态)。

若数据集是标准正态分布,则中位数是位于Q1和Q3中间的,箱线图的中间线恰好位于上底和下底的正中央。若中位数偏向于下底,则数据集倾向于左偏态;若中位数偏向于上底,则数据集倾向于右偏态。

(3)评估数据集中程度

箱线图的宽度一定程度反映了数据的波动程度。因为箱线图包含中间50%的数据,若它越扁,则说明数据较为集中;若它越宽,则说明数据较为分散。

五、用python绘制箱线图

在线测试地址:http://kakazai.cn/index.php/Kaka/Python/query/name/boxplot

实例1:普通例子

#!/usr/bin/python3
#code-python(3.6)
import matplotlib.pyplot as plt
x = [1,2,3,5]                  #数据集
plt.boxplot(x)                  #垂直显示箱线图
plt.show()                      #显示该图

实例2:水平显示箱线图

#!/usr/bin/python3
#code-python(3.6)
import matplotlib.pyplot as plt
x = [1,2,3,5]                  #数据集
plt.boxplot(x,vert = False)            #水平显示箱线图
plt.show()                          #显示该图

实例3:并列画多个箱线图

#!/usr/bin/python3
#code-python(3.6)
import matplotlib.pyplot as plt
x = [1,2,3,5]                  #数据集
y = [4,3,7,9]
z= [2,4,8]
plt.boxplot((x,y,z),labels=('x','y','z'))
plt.show()

实例4:对数据框中每列画箱线图-pandas

#!/usr/bin/python3
#code-python(3.6)
import pandas as pd                 #导入pandas
import matplotlib.pyplot as plt
dt = pd.DataFrame({             #用字典去建立数据表,第一列的列名a,列值是[1,2,3,4,5];第二列的列名是b,列值是 [5, 6, 7, 8],以此类推'a': [1, 2, 3, 4],'b': [5, 6, 7, 8],'c': [9, 10, 11, 12],'d': [13, 14, 15, 16]
})
dt.boxplot()  #对数据框中每列画箱线图,pandas自己有处理的过程,很方便
plt.show()

实例5:对数据框中每列画箱线图-matplotlib

#!/usr/bin/python3
#code-python(3.6)
import pandas as pd                 #导入pandas
import matplotlib.pyplot as plt
dt = pd.DataFrame({             #用字典去建立数据表,第一列的列名a,列值是[1,2,3,4,5];第二列的列名是b,列值是 [5, 6, 7, 8],以此类推'a': [1, 2, 3, 4],'b': [5, 6, 7, 8],'c': [9, 10, 11, 12],'d': [13, 14, 15, 16]
})#用matplotlib来画出箱型图
plt.boxplot(x=dt.values,labels=dt.columns,whis=1.5) #columns列索引,values所有数值
plt.show()

参考

http://www.sohu.com/a/220236877_434937 5分钟包你搞懂箱形图分析!

http://www.sohu.com/a/218322591_416207 不会数学统计没关系——5分钟教你轻松掌握箱线图 | 图表家族#24

用python绘制箱线图相关推荐

  1. python绘制箱线图

    用python绘制箱线图_大奸猫的博客-CSDN博客_python画箱线图 画两个并行的箱型图: # 导入Excel数据studentshuju.xls的代码: import matplotlib.p ...

  2. python绘制箱线图boxplot()

    最近在处理数据时,需要使用python绘制箱线图. 1. 箱线图 箱线图(Box-plot)又称为盒式图或箱型图,是一种用来显示一组数据分散情况的统计图,它能显示一组数据的上界.下界.中位数.上下四分 ...

  3. python绘制箱线图-python 中箱线图绘制

    一.箱线图图绘制参数详解 plt.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None, ...

  4. python boxplot用法,Python使用plt.boxplot() 参数绘制箱线图

    Python 绘制箱线图主要用 matplotlib 库里 pyplot 模块里的 boxplot() 函数. plt.boxplot() 参数详解 plt.pie(x, # 指定要绘制箱线图的数据: ...

  5. 绘制箱线图的标签python_利用Python - Matplotlib 绘制箱线图

    1.箱线图介绍 第一步:计算上四分位数,中位数,下四分位数(计算公式略). 第二步:计算上四分位数和下四分位数之间的差值,四分位数差. 第三步:绘制箱线图的上下范围,上限为上四分位数,下限为下四分位数 ...

  6. 使用python中的库matplotlib绘制箱线图(boxplot)

    文章目录 数据准备 相关概念:Q1,Q2,Q3,IQR,QQ1,QQ3 绘制箱线图 分析箱线图 数据准备 假设有如下数据: 我们要分别绘制出age这列数据的箱线图和%fat这列数据的箱线图. 相关概念 ...

  7. python箱线图配色_python绘制箱线图

    三种方式绘制箱线图 #第一种:直接使用自带的箱线图函数 import pandas as pd import matplotlib.pyplot as plt data=pd.read_excel(& ...

  8. Matplotlib绘制箱线图

    箱线图(Box-plot)又称为盒式图或箱型图,是一种用来显示一组数据分散情况的统计图,它能显示一组数据的上界.下界.中位数.上下四分位数以及异常值等.箱线图的各部分组成及其含义如下图所示. 关键术语 ...

  9. R语言中使用boxplot函数绘制箱线图

    (源自百度,便于查看故复制于此,若有冒犯会删除) 箱线图简介 箱线图又称箱形图或盒须图,该图是由5个特征值绘制而成的图形. 5个特征值是变量的最大值.最小值.中位数.第1四分位数和第3四分位数. 连接 ...

最新文章

  1. python解析json
  2. 《Adobe Illustrator CS4中文版经典教程》—第0课0.11节将外观属性存储为图形样式...
  3. 10-4 6-4 查询厂商“D“生产的PC和便携式电脑的平均价格 (10 分)思路+详解+测试用例
  4. java学习(15):巩固练习
  5. objectvie-c 数组特别遍历方法
  6. 重庆市大学生程序设计比赛相关情况
  7. 关于IAP:测试时能获取产品价格,却不能获取产品名称的问题
  8. Python 3.4中文编码
  9. Git操作的基本命令
  10. 高等数学课后答案下册同济大学第七版
  11. ATV 开发 三 DRM技术简介
  12. 虎牙不想做一家游戏直播公司
  13. linux批量对文件改名,在Linux中对文件进行批量重命名文件的方法
  14. 报错:Error: module property was removed from Dependency
  15. uniapp手机端图片缓存方案
  16. 迅雷11抢先体验版,免费2T空间可离线下载高速取回
  17. PS轻松制作GIF动态图
  18. 泛函分析简列:度量空间之列紧集
  19. System.Threading.ThreadAbortException: 正在中止线程
  20. 蒲公英升级SDK集成

热门文章

  1. 2017乘风破浪,量化护航 ——京东量化中信证券线下交流会
  2. 如何让你在潜在客户的心智中与众不同?《定位》每个公司必须在潜在客户的心智中建立一个位置,这就是所谓的定位。...
  3. matlab三视图的view参数
  4. php医院挂号收费,各级医院挂号费标准是什么
  5. 完美世界招聘笔试(子序列)
  6. 【2020软考】软件评测师考试说明
  7. 漫画 | 程序员,你得学会“见人说人话,见鬼说鬼话”
  8. 【组合数学】拉姆齐问题以及拉姆齐数(图文详解)
  9. AAAI 2023 | 腾讯提出THMA:创建高精地图标注的腾讯高精地图AI系统
  10. ESP8266连接OneNet云平台的方法