
最近在接触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
当 “算法” 成为数据科学、人工智能、业务决策领域的高频词时,一种隐形的认知误区正悄然蔓延 —— 有人将分析结果不佳归咎于 ...
2025-09-22在数据分析、金融计算、工程评估等领域,“平均数” 是描述数据集中趋势最常用的工具之一。但多数人提及 “平均数” 时,默认指 ...
2025-09-22CDA 数据分析师:参数估计助力数据决策的核心力量 在数字化浪潮席卷各行各业的当下,数据已成为驱动业务增长、优化运营效率的核 ...
2025-09-22训练与验证损失骤升:机器学习训练中的异常诊断与解决方案 在机器学习模型训练过程中,“损失曲线” 是反映模型学习状态的核心指 ...
2025-09-19解析 DataHub 与 Kafka:数据生态中两类核心工具的差异与协同 在数字化转型加速的今天,企业对数据的需求已从 “存储” 转向 “ ...
2025-09-19CDA 数据分析师:让统计基本概念成为业务决策的底层逻辑 统计基本概念是商业数据分析的 “基础语言”—— 从描述数据分布的 “均 ...
2025-09-19CDA 数据分析师:表结构数据 “获取 - 加工 - 使用” 全流程的赋能者 表结构数据(如数据库表、Excel 表、CSV 文件)是企业数字 ...
2025-09-19SQL Server 中 CONVERT 函数的日期转换:从基础用法到实战优化 在 SQL Server 的数据处理中,日期格式转换是高频需求 —— 无论 ...
2025-09-18MySQL 大表拆分与关联查询效率:打破 “拆分必慢” 的认知误区 在 MySQL 数据库管理中,“大表” 始终是性能优化绕不开的话题。 ...
2025-09-18DSGE 模型中的 Et:理性预期算子的内涵、作用与应用解析 动态随机一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明确:TIF 中的地名有哪两种存在形式? 在开始提取前,需先判断 TIF 文件的类型 —— ...
2025-09-17CDA 数据分析师:解锁表结构数据特征价值的专业核心 表结构数据(以 “行 - 列” 规范存储的结构化数据,如数据库表、Excel 表、 ...
2025-09-17Excel 导入数据含缺失值?详解 dropna 函数的功能与实战应用 在用 Python(如 pandas 库)处理 Excel 数据时,“缺失值” 是高频 ...
2025-09-16深入解析卡方检验与 t 检验:差异、适用场景与实践应用 在数据分析与统计学领域,假设检验是验证研究假设、判断数据差异是否 “ ...
2025-09-16CDA 数据分析师:掌控表格结构数据全功能周期的专业操盘手 表格结构数据(以 “行 - 列” 存储的结构化数据,如 Excel 表、数据 ...
2025-09-16MySQL 执行计划中 rows 数量的准确性解析:原理、影响因素与优化 在 MySQL SQL 调优中,EXPLAIN执行计划是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 对象的 text 与 content:区别、场景与实践指南 在 Python 进行 HTTP 网络请求开发时(如使用requests ...
2025-09-15CDA 数据分析师:激活表格结构数据价值的核心操盘手 表格结构数据(如 Excel 表格、数据库表)是企业最基础、最核心的数据形态 ...
2025-09-15Python HTTP 请求工具对比:urllib.request 与 requests 的核心差异与选择指南 在 Python 处理 HTTP 请求(如接口调用、数据爬取 ...
2025-09-12解决 pd.read_csv 读取长浮点数据的科学计数法问题 为帮助 Python 数据从业者解决pd.read_csv读取长浮点数据时的科学计数法问题 ...
2025-09-12