在pandas中,groupby()函数和agg()函数是常用的数据分组和统计函数。groupby()函数可以对数据进行分组,agg()函数可以对分组后的数据进行统计。
groupby()函数用法
groupby()函数可以对数据进行分组,常用于数据聚合和分组计算。groupby()函数的基本语法如下:
groupby(by = 'column_name')
其中,by参数指定了分组的列名。
groupby()按单列分组用法实例
可以按单列对数据进行分组,例如按照性别分组:
import pandas as
pddf = pd.DataFrame({
'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily', 'Frank'],
'gender': ['F', 'M', 'M', 'M', 'F', 'M'],
'age': [25, 30, 35, 40, 45, 50],
'salary': [5000, 8000, 6000, 7000, 9000, 7500]
})
grouped = df.groupby('gender')
print(grouped.groups)
输出结果如下:
{'F': [0, 4], 'M': [1, 2, 3, 5]}
可以看到,按照性别分组后,分别有两个女性和四个男性。
groupby()按多列分组用法实例
也可以按多列对数据进行分组,例如按照性别和年龄分组:
#按照性别和年龄分组
grouped = df.groupby(['gender', 'age'])
print(grouped.groups)
输出结果如下:
{
('F', 25): [0], ('F', 45): [4], ('M', 30): [1], ('M', 35): [2], ('M', 40): [3], ('M', 50): [5]
}
可以看到,按照性别和年龄分组后,每个组中只包含一个数据。
agg()函数
agg()函数可以对分组后的数据进行统计,例如计算每个组的平均值、最大值等。agg()函数的基本语法如下:
agg('function_name')
其中,function_name参数指定了要使用的统计函数名称。
agg()函数统计函数用法实例
可以使用单个统计函数对分组后的数据进行统计,例如计算每个性别的平均薪资:
# 按照性别分组
grouped = df.groupby('gender')
# 计算每个性别的平均薪资
result = grouped.agg('mean')print(result)
输出结果如下:
age salary
gender
F 35.000000 7000
M 38