假设我们要对一个数据集按照三个列进行分组,并计算另一列的均值。例如,给定以下数据集:
import pandas as pd
data = {'Name': ['Tom', 'Tom', 'Jack', 'Jack', 'Mary', 'Mary'],
'Gender': ['M', 'M', 'M', 'M', 'F', 'F'],
'City': ['Beijing', 'Shanghai', 'Beijing', 'Shanghai', 'Beijing', 'Shanghai'],
'Age': [25, 23, 30, 31, 28, 27],
'Salary': [8000, 9000, 12000, 11000, 10000, 9500]}
df = pd.DataFrame(data)
print(df)
输出:
Name Gender City Age Salary
0 Tom M Beijing 25 8000
1 Tom M Shanghai 23 9000
2 Jack M Beijing 30 12000
3 Jack M Shanghai 31 11000
4 Mary F Beijing 28 10000
5 Mary F Shanghai 27 9500
现在我们要对 Name, Gender, 和 City 列进行分组,然后计算 Salary 列的均值,我们可以使用以下代码:
grouped = df.groupby(['Name', 'Gender', 'City'])['Salary'].mean()
print(grouped)
输出:
Name Gender City
Jack M Beijing 12000
Shanghai 11000
Mary F Beijing 10000
Shanghai 9500
Tom M Beijing 8000
Shanghai 9000
Name: Salary, dtype: int64
可以看到,每个组的均值被计算出来了。