📅  最后修改于: 2023-12-03 15:19:09.903000             🧑  作者: Mango
在数据分析和数据处理中,聚合计算是常见的需求。Python中的pandas
库提供了方便的聚合计算功能,可以根据多个指定的键值进行分组计算。本文将介绍在Python中如何实现按多个聚合分组。
假设有一组销售记录数据,包括日期、产品、销售数量和销售金额等信息,现在需要按照日期和产品进行分组,统计销售数量和销售金额的总和。
先看一下数据:
import pandas as pd
df = pd.DataFrame({
'date': ['2021-01-01', '2021-01-01', '2021-01-02', '2021-01-02', '2021-01-03', '2021-01-03'],
'product': ['A', 'B', 'C', 'A', 'B', 'C'],
'quantity': [100, 200, 300, 150, 250, 350],
'amount': [10000, 20000, 30000, 15000, 25000, 35000]
})
print(df)
输出结果:
date product quantity amount
0 2021-01-01 A 100 10000
1 2021-01-01 B 200 20000
2 2021-01-02 C 300 30000
3 2021-01-02 A 150 15000
4 2021-01-03 B 250 25000
5 2021-01-03 C 350 35000
按照日期和产品进行分组,统计销售数量和销售金额的总和,代码如下:
grouped = df.groupby(['date', 'product'], as_index=False).agg({'quantity': 'sum', 'amount': 'sum'})
print(grouped)
输出结果:
date product quantity amount
0 2021-01-01 A 100 10000
1 2021-01-01 B 200 20000
2 2021-01-02 A 150 15000
3 2021-01-02 C 300 30000
4 2021-01-03 B 250 25000
5 2021-01-03 C 350 35000
可以看到,按照日期和产品进行分组后,统计了每个组的销售数量和销售金额的总和。
可以看到,上面的代码中使用了groupby
方法进行数据分组,然后使用agg
方法进行聚合计算。在agg
方法中,可以传入一个字典对象,键为需要聚合计算的列名,值为对应的聚合函数。
聚合函数有很多种,如sum
(求和)、mean
(求平均值)、max
(求最大值)等等,具体可以参考官方文档。
在本例中,我们只简单使用了sum
函数进行求和,实际上还可以进行很多其他的聚合计算。
Python中的pandas
库提供了方便的数据分组和聚合计算功能,可以满足数据分析和数据处理中常见的需求。本文介绍了如何通过groupby
和agg
方法实现按多个聚合分组的功能。
参考文献: