python中group by的用法是什么

471
2024/1/13 10:09:45
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: pycharm中如何更改python路径