本教程为《Python数据分析实践》系列课程的第三章第十二节,主要内容围绕使用Matplotlib库绘制数据箱形图进行详细讲解,帮助学习者掌握用Python分析和可视化数据的方法。
【课程3.12】 箱型图
箱型图(又称盒须图、盒式图、盒状图或箱线图)是一种用于展示一组数据分散情况的统计图表,它包含最大值、最小值、中位数、上四分位数(Q3)、下四分位数(Q1)和异常值。
- 中位数:将数据平均分成两份后中间的那个数值。
- 上四分位数 Q3:是序列的75%位置,通常使用(n+1)/4进行计算。
- 下四分位数 Q1:位于25%,即(n+1)*0.25的位置处。
- 内限(Inner Limit):T形盒须定义了Q1和Q3之间的范围,并且最大值区间为Q3 + 1.5 * IQR,最小值区间为Q1 - 1.5 * IQR (IQR= Q3-Q1)。
- 外限(Outer Limit):基于内限计算的最大或最小边界。外限之外的数据点被视为异常值。
在数据分析中,可视化工具非常重要,并且Python中的Matplotlib库是数据可视化的基础之一。本节课我们将探讨如何使用Matplotlib绘制箱型图,这种图表能够有效地展示一组数据的分布特征,包括最大值、最小值、中位数以及上四分位数(Q3)和下四分位数(Q1)。通过直观的方式展示了集中趋势与离群点,并且对于比较不同数据集很有帮助。
箱型图的关键组成部分:
- 中位数:将一组数值排序后位于中间的数字,当有偶数个观测值时取两个中位数平均。
- 上四分位数(Q3):表示75%的数据小于或等于该值的位置。
- 下四分位数(Q1):25%的数据低于此位置的数值。
- 内限:箱体部分,包含从下四分位数到上四分位数的所有数据点。
- 外限:基于内限计算得出,帮助识别异常值。超出外限范围的数据被视为离群值。
- 异常值:位于外限之外的数值可能代表了测量错误或其他特殊情况。
使用Matplotlib库可以方便地绘制箱型图。`plt.boxplot()` 是一个常用的函数来创建这种图表。
例如:
```python
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
# 创建DataFrame对象并填充随机数据
df = pd.DataFrame(np.random.rand(10, 5), columns=[A, B, C, D, E])
# 设置颜色参数
color = {boxes: DarkGreen,whiskers:DarkOrange,medians:DarkBlue,caps:Gray}
fig, axes = plt.subplots(2, 1, figsize=(10,6))
df.plot.box(ylim=[0, 1.2], grid=True,color=color ,ax=axes[0])
# 绘制水平箱型图
df.plot.box(vert=False, positions=[1,4,5,6,8], ax=axes[1],grid=True ,color=color)
```
在这个例子中,`ylim`用于设定y轴的显示范围,而`grid`开启网格线。此外还可以通过自定义颜色、标签等属性来增强图形的视觉效果。
箱型图不仅适用于单个数据列,在比较多个分类或时间序列的数据分布时同样非常有用。掌握如何使用Matplotlib绘制箱型图是数据分析工作中的重要技能之一,它能够帮助快速识别数据特征并检测异常值,并且可以有效地对比不同数据集之间的差异性。