Python 数据分析入门:集中趋势与离散程度
在做数据分析时,我们常遇到这样的困惑:一组数据的'平均水平'到底是多少?为什么两组数据均值差不多,实际情况却完全不同?如何判断数据是否稳定?
这些问题,本质上都离不开两个统计学基础概念:集中趋势和离散程度。本文用一个简单的案例——班级成绩分析,带你从 0 到 1 学会这些统计指标,并用 Pandas 完成实战分析。
问题引入:平均分一样,班级情况就一样吗?
假设现在有两个班级的数学成绩:
A 班成绩 = [85, 82, 88, 84, 86, 83, 87, 85, 84, 86]
B 班成绩 = [100, 60, 90, 70, 95, 65, 85, 85, 85, 85]
很多人拿到数据后,第一反应就是先看平均分。但问题是:平均分差不多,就说明两个班水平一样吗?哪个班更稳定?
答案显然不是。A 班成绩比较集中,整体比较稳定;B 班虽然也有高分,但高低差距很大。这说明分析数据时,不能只看平均值,还要看数据的分散程度。
什么是集中趋势?
集中趋势,就是描述一组数据'中心位置'的指标。你可以简单理解为:这组数据大多数值,整体上靠近哪里?
常见的集中趋势指标有:均值(Mean)、中位数(Median)、众数(Mode)、中列数(Midrange)。
1. 均值(Mean)
均值就是我们平时说的'平均数'。
计算公式
均值 = 所有数据之和 / 数据个数
Pandas 实现
df['A 班'].mean()
特点
- 优点:最常用,最直观
- 缺点:对异常值敏感
也就是说,如果一组数据里存在特别大或特别小的值,均值很容易被拉偏。
2. 中位数(Median)
中位数就是把数据排序后,位于中间位置的值。
Pandas 实现
df['A 班'].median()
特点
- 不容易被极端值拉偏
- 在有异常值时,通常比均值更可靠
如果你分析的数据可能存在异常值,比如成绩异常、消费异常、销售爆发等,中位数往往比均值更能反映真实水平。

