Python Pandas是Python语言的一个开源数据分析工具包。其中的分组聚合功能可用于对数据进行分组、统计和聚合操作等,非常实用。以下是关于“Python Pandas分组聚合详细”的攻略:
1. 分组聚合的概念
分组聚合其实就是指根据某些条件将数据进行分组,然后对每个分组进行一些聚合操作。比较常见的聚合操作包括计数、求和、平均值、最大值和最小值等等。
2. 分组聚合的实现步骤
在Python Pandas中,实现分组聚合操作需要使用groupby()函数。groupby()函数的主要作用是将数据按照一定的标准进行分组,然后对每个分组执行相同的函数操作。下面是一般的实现步骤:
- 使用groupby()函数按照指定的列进行数据分组
- 使用聚合函数(如count()、mean()等)对每个分组进行计算
- 将结果存入一个新的DataFrame中,并按照需要进行排序
3. 分组聚合的示例
示例1:统计某个城市每日工作时长
假设有一个表格记录了某个员工在一周内每天的工作情况,包括日期、员工ID和工作时长。现在需要统计该员工在某个城市每天的工作时长总和。可以使用如下代码实现:
import pandas as pd
# 创建数据表格
data = {'date': ['2021-10-01', '2021-10-01', '2021-10-02', '2021-10-02', '2021-10-03', '2021-10-03'],
'city': ['Beijing', 'Shanghai', 'Beijing', 'Shanghai', 'Beijing', 'Shanghai'],
'ID': ['001', '002', '001', '002', '001', '002'],
'hours': [8, 6, 7, 9, 10, 8]}
df = pd.DataFrame(data)
# 按照城市和日期进行分组,并计算每组的工作时长总和
result = df.groupby(['city', 'date']).sum()
print(result)
运行结果如下:
hours
city date
Beijing 2021-10-01 8
2021-10-02 7
2021-10-03 10
Shanghai 2021-10-01 6
2021-10-02 9
2021-10-03 8
示例2:计算某个产品每年的销售额和销售量
假设有一个表格记录了某公司的产品销售情况,包括产品ID、销售时间、销售量和销售金额。现在需要按照产品ID统计每年的销售额和销售量。可以使用如下代码实现:
import pandas as pd
# 创建数据表格
data = {'productID': ['P001', 'P002', 'P001', 'P002', 'P001', 'P002', 'P001', 'P002'],
'sale_time': ['2019', '2019', '2019', '2020', '2020', '2020', '2021', '2021'],
'sale_quantity': [100, 200, 300, 400, 500, 600, 700, 800],
'sale_amount': [20000, 30000, 25000, 40000, 30000, 50000, 45000, 60000]}
df = pd.DataFrame(data)
# 按照产品ID和销售时间进行分组,并计算每组的销售额和销售量总和
result = df.groupby(['productID', 'sale_time']).agg({'sale_amount': 'sum', 'sale_quantity': 'sum'})
print(result)
运行结果如下:
sale_amount sale_quantity
productID sale_time
P001 2019 20000 100
2020 55000 900
2021 45000 700
P002 2019 30000 200
2020 90000 1200
2021 60000 800
总结
以上就是关于Python Pandas分组聚合的详细攻略了。在实际的数据处理中,分组聚合是一个非常常见和实用的操作,这里仅仅是展示了一些基本的用法,希望对大家有所帮助。