描述统计基础

描述统计的目标是:用较简洁的指标概括一组数据的特征。

讲义这一部分主要围绕:

样本数据与缺失值

讲义里多次提到 [[Python缺失值|NaN]],它表示缺失值。

常见写法:

  • math.nan
  • float("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缺失值 均值 中位数 众数 方差与标准差 分位数