- pandas数据分组
Pandas数据分组是指将数据按照某个条件分为若干组的操作。返回值为一个groupby对象,用于对分组后的数据进行聚合等操作。
常用方法:
- groupby: 根据类别(列)对数据进行分组
- size: 查看每组的大小
- count: 统计每组非空值的数量
- mean: 计算每组的平均值
- sum: 计算每组的总和
- max: 计算每组的最大值
- min: 计算每组的最小值
- first: 取每组的第一个值
- last: 取每组的最后一个值
- agg: 可以使用聚合函数对每组数据进行计算,如agg(‘mean’)表示计算每组的平均值
示例:
import pandas as pd
df = pd.read_csv('example.csv')
print(df.groupby('classroom').size())
输出结果为:
classroom
A 5
B 6
C 4
dtype: int64
- pandas数据聚合操作
数据聚合操作是指在分组后对每组数据进行计算,如求每组的平均数、总和、标准差等。
常用方法:
- mean: 计算每组的平均值
- sum: 计算每组的总和
- max: 计算每组的最大值
- min: 计算每组的最小值
- std: 计算每组的标准差
- var: 计算每组的方差
- describe: 计算每组数据的描述性统计量
示例:
import pandas as pd
df = pd.read_csv('example.csv')
grouped = df.groupby('classroom')
# 计算每组的平均值和总和
print(grouped.agg(['mean', 'sum']))
# 计算每组的最大值和最小值
print(grouped.agg({'scores': ['max', 'min']}))
输出结果为:
scores
mean sum
classroom
A 70.80 354
B 75.83 455
C 62.00 248
scores
max min
classroom
A 100 50
B 97 59
C 87 35