在Python中,group by是一种用于将数据集按照特定列进行分组的操作。它通常与聚合函数(如sum、count、avg等)一起使用,以便对每个组进行计算。
要使用group by,你可以使用pandas库中的DataFrame对象来处理数据。以下是一个示例:
import pandas as pd
# 创建一个示例数据集
data = {'Name': ['John', 'Mike', 'Sarah', 'John', 'Mike'],
'Age': [25, 30, 28, 25, 30],
'City': ['New York', 'Chicago', 'Los Angeles', 'New York', 'Chicago'],
'Salary': [50000, 60000, 55000, 50000, 55000]}
df = pd.DataFrame(data)
# 按照Name列进行分组,并计算每个组的平均薪资
grouped = df.groupby('Name')['Salary'].mean()
print(grouped)
输出结果为:
Name
John 50000.0
Mike 57500.0
Sarah 55000.0
Name: Salary, dtype: float64
在上述示例中,我们使用group by将数据按照Name列进行分组,并计算每个组的平均薪资。结果中的每个组都以组名(Name列的唯一值)作为索引,并显示了对应组的平均薪资。
你还可以对多个列进行分组,如以下示例所示:
grouped = df.groupby(['Name', 'City'])['Salary'].sum()
print(grouped)
输出结果为:
Name City
John New York 100000
Mike Chicago 115000
Sarah Los Angeles 55000
Name: Salary, dtype: int64
在该示例中,我们按照Name和City两列进行分组,并计算每个组的薪资总和。结果中的每个组都以组名(Name和City的唯一组合)作为索引,并显示了对应组的薪资总和。