2.1 介绍
中位数是一组数据中间值的度量,表示将数据从小到大排列时位于中间位置的值。中位数对于描述数据的中心趋势非常有用,尤其对于存在异常值的数据集。
2.2 原理
中位数的计算方法取决于数据集的大小:
- 若数据集为奇数个,则中位数是排序后位于中间位置的值。
- 若数据集为偶数个,则中位数是排序后中间两个值的平均值。
2.3 重点和注意事项
- 重点: 中位数不受极端值的影响,对于偏态分布的数据更为稳健。
- 注意事项:
- 数据集需要是有序的。
- 计算中位数前,通常需要对数据进行排序。
2.4 完整案例
考虑一个案例:某班级学生的考试成绩。我们想计算学生们的考试成绩的中位数,并绘制箱线图以展示数据的分布情况。
数据:
考试成绩数据:[75, 82, 90, 65, 88, 78, 94, 70]
计算步骤:
- 排序数据: 将考试成绩数据进行排序:65,70,75,78,82,88,90,94
- 确定中位数: 由于数据集为偶数个,中位数为中间两个值的平均值。排好序后第 4 个值是 78,第 5 个值是 82,所以:中位数=278+82=80
Python代码:
import numpy as np
import matplotlib.pyplot as plt
# 考试成绩数据
exam_scores = np.array([75, 82, 90, 65, 88, 78, 94, 70])
# 计算中位数
median_score = np.median(exam_scores)
# 绘制箱线图
plt.boxplot(exam_scores, vert=False, widths=0.7, patch_artist=True, medianprops={'color':'red'}, boxprops={'color':'lightblue'})
# 添加标题和标签
plt.title('Exam Scores Distribution and Median')
plt.xlabel('Exam Scores')
# 显示图表
plt.show()
print("学生的考试成绩中位数:", median_score)
# 学生的考试成绩中位数: 80.0
以上代码绘制了箱线图,展示了考试成绩的分布情况,并将中位数标记为红色。这里有个小提醒:偶数个数据时,不是随便取两个“看起来靠中间”的数,而是取排序后正中间的两个位置。
![图片[1]-2. 集中趋势 – 中位数(Median)-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/10/image-194.png)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END













请登录后查看评论内容