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()
这遵循"拆分-应用-合并"模式:
- 按性别拆分数据
- 对每组应用均值计算
- 合并结果
多列分组
计算性别和舱位组合的平均票价:
titanic.groupby(["Sex", "Pclass"])["Fare"].mean()
类别计数
统计各舱位乘客数量:
titanic["Pclass"].value_counts()
这等价于:
titanic.groupby("Pclass")["Pclass"].count()
注意区分:
size
: 包含NaN值的计数count
: 排除NaN值的计数
最佳实践建议
- 处理分类数据时,考虑使用
Categorical
类型 - 分组前明确需要统计的列,避免无意义计算
- 大型数据集可先抽样验证统计逻辑
- 注意缺失值对统计结果的影响
通过掌握这些统计方法,您能够快速洞察数据分布特征,为后续分析奠定基础。