阅读量:6
在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的唯一组合)作为索引,并显示了对应组的薪资总和。