统计学(二)——从箱型图去理解数据

在昨天把所有视频看完后这次再重新看一下我们的统计学知识,我觉得应该结合编程的知识,来更好理解这些知识,所以借鉴了一些博客上的东西写一些东西(代码)

  拿到数据之后第一件事是什么?(数据预处理)分析数据的情况?怎么分析???等等一些数据分析的工作。我们都知道一个数据(我们这里讨论的是数值型的数据就是底层处理好的数据)我们想了解一下这个数据是什么样的,我们往往会采用一些可视化的方法。这里属于统计学的知识的箱型图就是我们这节想用的可视化方法。其中,大家都可能非常清楚条形图、直方图、散点图和曲线图的用处,但是箱形图呢?(或者称为盒须图)。他的意义在哪里呢?在python中又是如何实现的呢?  

箱形图有5个参数

 

下边缘(Q1),表示最小值;
下四分位数(Q2),又称“第一四分位数”,等于该样本中所有数值由小到大排列后第25%的数字;
中位数(Q3),又称“第二四分位数”等于该样本中所有数值由小到大排列后第50%的数字;
上四分位数(Q4),又称“第三四分位数”等于该样本中所有数值由小到大排列后第75%的数字;
上边缘(Q5),表述最大值。
第三四分位数与第一四分位数的差距又称四分位间距。

那为什么要引入箱形图呢?这里有篇博文也不错箱形图分析

1.为了反映原始数据的分布情况,比如数据的聚散情况和偏态。

 

从图中我们可以直观地看出,箱形图的中位数和上四分位数的间距比较窄的话,对应曲线图,这个间距内的数据比较集中,还有就是箱形图的上(下)边缘比较长的话,对应曲线图,尾巴就比较长。

2.箱型图有个功能就是可以检测这组数据是否存在异常值。异常值在哪里呢?就是在上边缘和下边缘的范围之外。(这个我也不太懂,总感觉和正态分布有一腿)

3.可以直观地比较多组数据的情况。示例:多组成绩的箱形图 


这里写图片描述这里写图片描述


从这图我们可以很直观地看出以下信息: 

1.各科成绩中,英语和西方经济学的平均成绩比较高,而统计学和基础会计学的平均成绩比较低。(用中位数来衡量整体情况比较稳定)

2.英语、市场营销学、西方经济学、计算机应用基础和财务管理成绩分布比较集中,因为箱子比较短。而经济数学、基础会计学和统计学成绩比较分散,我们可以对照考试成绩数据看看也可以证实。

3.从各个箱形图的中位数和上下四位数的间距也可以看出,英语和市场营销学的成绩分布是非常的对称,而统计学呢?非常的不平衡,大部分数据都分布在70到85(中位数到上四分位数)分以上。同样,也可以从成绩单里的数据证实

4.在计算机应用基础对应的箱形图出现了个异常点,我们回去看看成绩单,计算机那一栏,出现了个计算机大牛(真希望是我),考了95分,比第二名多了10分。而其他同学的成绩整体在80分左右。

5。其实我们也可以从中得知,用平均值去衡量整体的情况有时很不合理,用中位数比较稳定,因为中位数不太会收到极值的影响,而平均值则受极值的影响很大。

那么在python怎么去画箱型图呢?

大家环境自己搭建:本人用的是python 3,pycharm IDE 平台。主要的模块有matplotlib,pandas,numpy

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

#添加成绩表
plt.style.use("ggplot")
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['font.sans-serif']=['SimHei']

#新建一个空的DataFrame
df=pd.DataFrame()

 #添加成绩单,最后显示成绩单表格
df["英语"]=[76,90,97,71,70,93,86,83,78,85,81]
df["经济数学"]=[65,95,51,74,78,63,91,82,75,71,55]
df["西方经济学"]=[93,81,76,88,66,79,83,92,78,86,78]
df["计算机应用基础"]=[85,78,81,95,70,67,82,72,80,81,77]

 #用matplotlib来画出箱型图
plt.boxplot(x=df.values,labels=df.columns,whis=1.5)
plt.show()

 #用pandas自带的画图工具更快
df.boxplot()
plt.show()

结果如图所示:

 

posted @ 2019-01-28 16:25  LeoLRH  阅读(14804)  评论(0编辑  收藏  举报