温馨提示×

python中group by的用法是什么

小亿
102
2024-02-04 10:09:45
栏目: 编程语言

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

0