引言
在数据分析领域,Pandas 是一款非常强大的工具,它提供了丰富的功能,使得数据统计与聚合变得简单而高效。本文将深入探讨 Pandas 中的数据统计与聚合技巧,帮助您轻松掌握数据分析的核心技能。
Pandas 数据统计与聚合基础
1. Pandas 数据结构
Pandas 提供了两种主要的数据结构:Series 和 DataFrame。
- Series:一维数组,类似于 Python 中的列表,但每个元素都有一个标签。
- DataFrame:二维表格结构,类似于 Excel 或 SQL 数据库中的表格。
2. 基础统计描述
Pandas 提供了 describe()
方法,可以快速生成数据的基本统计信息,包括计数、平均值、标准差、最小值、25% 分位数、中位数、75% 分位数和最大值。
import pandas as pd
data = {'Age': [25, 30, 35, 40], 'Score': [85, 90, 95, 100]}
df = pd.DataFrame(data)
print(df.describe())
3. 常用统计方法
Pandas 提供了直接计算统计指标的方法,如 mean()
, median()
, std()
, max()
, min()
等。
print(df['Age'].mean()) # 计算年龄的平均值
print(df['Score'].median()) # 计算分数的中位数
高级数据统计与聚合技巧
1. 数据分组与聚合
使用 groupby()
方法可以对数据进行分组,然后使用 agg()
方法对分组后的数据进行聚合。
grouped = df.groupby('Department')
print(grouped.agg({'Age': ['mean', 'std'], 'Score': ['mean', 'std']}))
2. 时间序列数据分析
对于时间序列数据,Pandas 提供了丰富的功能,如 resample()
方法可以按时间周期重新采样数据。
import pandas as pd
time_series_data = pd.Series([1, 2, 3, 4, 5], index=pd.date_range('20230101', periods=5))
print(time_series_data.resample('M').sum())
3. 缺失值处理
在数据分析中,缺失值是一个常见问题。Pandas 提供了 dropna()
, fillna()
等方法来处理缺失值。
df = df.dropna() # 删除含有缺失值的行
df = df.fillna(0) # 用 0 填充缺失值
4. 数据透视表
使用 pivot_table()
方法可以创建数据透视表,用于数据的汇总和转换。
pivot_table = df.pivot_table(values='Score', index='Department', columns='Age', aggfunc='mean')
print(pivot_table)
总结
通过学习 Pandas 的数据统计与聚合技巧,您可以更高效地进行数据分析。掌握这些技巧将帮助您在数据分析领域取得更大的成就。