首页
/ Pandas数据分析:统计计算完全指南

Pandas数据分析:统计计算完全指南

2025-07-05 01:52:00作者:钟日瑜

本文将全面介绍如何使用Pandas进行数据统计分析,涵盖基础统计量计算、分组聚合等核心功能。

数据准备

我们以经典的泰坦尼克号乘客数据集为例:

import pandas as pd
titanic = pd.read_csv("data/titanic.csv")
titanic.head()

该数据集包含乘客年龄、票价、舱位等级、性别等多维信息,非常适合演示统计分析方法。

基础统计量计算

单列统计

计算乘客平均年龄:

titanic["Age"].mean()

Pandas提供多种统计方法:

  • mean(): 平均值
  • median(): 中位数
  • std(): 标准差
  • min()/max(): 最小/最大值
  • count(): 非空值计数

多列统计

同时计算年龄和票价的中位数:

titanic[["Age", "Fare"]].median()

使用describe()快速获取描述性统计:

titanic[["Age", "Fare"]].describe()

自定义统计组合

通过agg()方法灵活指定统计量:

titanic.agg({
    "Age": ["min", "max", "median", "skew"],
    "Fare": ["min", "max", "median", "mean"]
})

分组统计

单列分组

计算不同性别乘客的平均年龄:

titanic[["Sex", "Age"]].groupby("Sex").mean()

这遵循"拆分-应用-合并"模式:

  1. 按性别拆分数据
  2. 对每组应用均值计算
  3. 合并结果

多列分组

计算性别和舱位组合的平均票价:

titanic.groupby(["Sex", "Pclass"])["Fare"].mean()

类别计数

统计各舱位乘客数量:

titanic["Pclass"].value_counts()

这等价于:

titanic.groupby("Pclass")["Pclass"].count()

注意区分:

  • size: 包含NaN值的计数
  • count: 排除NaN值的计数

最佳实践建议

  1. 处理分类数据时,考虑使用Categorical类型
  2. 分组前明确需要统计的列,避免无意义计算
  3. 大型数据集可先抽样验证统计逻辑
  4. 注意缺失值对统计结果的影响

通过掌握这些统计方法,您能够快速洞察数据分布特征,为后续分析奠定基础。