描述统计基础
描述统计的目标是:用较简洁的指标概括一组数据的特征。
讲义这一部分主要围绕:
样本数据与缺失值
讲义里多次提到 [[Python缺失值|NaN]],它表示缺失值。
常见写法:
math.nanfloat("nan")np.nan
很多统计函数是否能正确处理 NaN,是实际使用时必须注意的问题。
集中趋势
均值 mean
表示平均水平。
常见写法:
statistics.mean(x)
statistics.fmean(x)
np.mean(x)
np.nanmean(x)如果数据里有 NaN,普通 mean 可能直接返回 nan,这时需要 nanmean() 一类函数。
中位数 median
把数据排序后取中间值。
常见写法:
statistics.median(x)
np.median(x)
np.nanmedian(x)众数 mode
出现次数最多的值。
statistics.mode(x)
statistics.multimode(x)多峰数据时,multimode() 往往更稳妥。
离散程度
方差 variance
衡量数据围绕均值的分散程度。
statistics.variance(x)
np.var(x, ddof=1)
z.var(ddof=1)这里 ddof=1 一般对应样本方差。
标准差 standard deviation
标准差是方差的平方根,更直观反映波动大小。
statistics.stdev(x)
np.std(x, ddof=1)
z.std(ddof=1)偏度 skewness
偏度衡量分布是否对称。
scipy.stats.skew(z, bias=False)
z.skew()分位数与百分位数
分位数反映数据在整体中的相对位置。
常见包括:
- 25% 分位数
- 50% 分位数(中位数)
- 75% 分位数
Python 写法
statistics.quantiles(x, n=4, method="inclusive")
np.quantile(x, 0.95)
y.quantile([0.25, 0.5, 0.75])变异范围
讲义还补充了:
- 极差 range = 最大值 - 最小值
- 四分位距 IQR = Q3 - Q1,是分位数的常见应用
这些指标用来描述波动范围。
常用库分工
statistics
适合基础统计,语法简单。
[[NumPy数组|numpy]]
适合数值数组运算,尤其在矩阵和批量计算上方便。
[[Pandas DataFrame|pandas]]
适合表格数据和带标签的数据分析。
scipy.stats
适合更深入的统计分析。
python 二维数据与DataFrame 集中趋势 离散程度 Python缺失值 均值 中位数 众数 方差与标准差 分位数