
箱形图以及python实践
最近在接触kaggle的竞赛示例,练习了一下,感觉受益匪浅。同时,心中也有个问题。拿到数据之后第一件事是什么?分析数据的情况?怎么分析?分析之后如何去处理数据呢?等等一些数据分析的工作。其中,大家都可能非常清楚条形图、直方图、散点图和曲线图的用处,但是箱形图呢?(或者称为盒须图)。他的意义在哪里呢?在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,anaconda 平台。主要的模块有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]
df
#用matplotlib来画出箱型图
plt.boxplot(x=df.values,labels=df.columns,whis=1.5)
plt.show()
#用pandas自带的画图工具更快
df.boxplot()
plt.show()
好了!今天的箱形图就总结这里了。下次记得拿到数据的时候,要记得分析数据的分布以及数据间的关系哦,尤其是用可视化的手段去分析。
最后,欢迎讨论以及批评指教!
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在AI渗透率超85%的2025年,企业生存之战就是数据之战,CDA认证已成为决定企业存续的生死线!据麦肯锡全球研究院数据显示,AI驱 ...
2025-07-2035岁焦虑像一把高悬的利刃,裁员潮、晋升无望、技能过时……当职场中年危机与数字化浪潮正面交锋,你是否发现: 简历投了10 ...
2025-07-20CDA 数据分析师报考条件详解与准备指南 在数据驱动决策的时代浪潮下,CDA 数据分析师认证愈发受到瞩目,成为众多有志投身数 ...
2025-07-18刚入职场或是在职场正面临岗位替代、技能更新、人机协作等焦虑的打工人,想要找到一条破解职场焦虑和升职瓶颈的系统化学习提升 ...
2025-07-182025被称为“AI元年”,而AI,与数据密不可分。网易公司创始人丁磊在《AI思维:从数据中创造价值的炼金术 ...
2025-07-18CDA 数据分析师:数据时代的价值挖掘者 在大数据席卷全球的今天,数据已成为企业核心竞争力的重要组成部分。从海量数据中提取有 ...
2025-07-18SPSS 赋值后数据不显示?原因排查与解决指南 在 SPSS( Statistical Package for the Social Sciences)数据分析过程中,变量 ...
2025-07-18在 DBeaver 中利用 MySQL 实现表数据同步操作指南 在数据库管理工作中,将一张表的数据同步到另一张表是常见需求,这有助于 ...
2025-07-18数据分析师的技能图谱:从数据到价值的桥梁 在数据驱动决策的时代,数据分析师如同 “数据翻译官”,将冰冷的数字转化为清晰的 ...
2025-07-17Pandas 写入指定行数据:数据精细化管理的核心技能 在数据处理的日常工作中,我们常常需要面对这样的场景:在庞大的数据集里精 ...
2025-07-17解码 CDA:数据时代的通行证 在数字化浪潮席卷全球的今天,当企业决策者盯着屏幕上跳动的数据曲线寻找增长密码,当科研人员在 ...
2025-07-17CDA 精益业务数据分析:数据驱动业务增长的实战方法论 在企业数字化转型的浪潮中,“数据分析” 已从 “加分项” 成为 “必修课 ...
2025-07-16MySQL 中 ADD KEY 与 ADD INDEX 详解:用法、差异与优化实践 在 MySQL 数据库表结构设计中,索引是提升查询性能的核心手段。无论 ...
2025-07-16解析 MySQL Update 语句中 “query end” 状态:含义、成因与优化指南 在 MySQL 数据库的日常运维与开发中,开发者和 DBA 常会 ...
2025-07-16如何考取数据分析师证书:以 CDA 为例 在数字化浪潮席卷各行各业的当下,数据分析师已然成为企业挖掘数据价值、驱动决策的 ...
2025-07-15CDA 精益业务数据分析:驱动企业高效决策的核心引擎 在数字经济时代,企业面临着前所未有的数据洪流,如何从海量数据中提取有 ...
2025-07-15MySQL 无外键关联表的 JOIN 实战:数据整合的灵活之道 在 MySQL 数据库的日常操作中,我们经常会遇到需要整合多张表数据的场景 ...
2025-07-15Python Pandas:数据科学的瑞士军刀 在数据驱动的时代,面对海量、复杂的数据,如何高效地进行处理、分析和挖掘成为关键。 ...
2025-07-15用 SQL 生成逆向回滚 SQL:数据操作的 “后悔药” 指南 在数据库操作中,误删数据、错改字段或误执行批量更新等问题时有发生。 ...
2025-07-14t检验与Wilcoxon检验的选择:何时用t.test,何时用wilcox.test? t 检验与 Wilcoxon 检验的选择:何时用 t.test,何时用 wilcox. ...
2025-07-14