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


