python中groupby分组求和
时间: 2023-09-21 08:03:33 浏览: 168
详解Python中的分组函数groupby和itertools)
可以使用Python的内置函数`groupby`和`sum`来实现分组求和。`groupby`函数用于将数据按照指定的键(key)分组,然后对每组数据进行操作。`sum`函数用于对一组数据求和。
以下是一个示例代码:
```python
from itertools import groupby
data = [
{'name': 'Alice', 'age': 25, 'score': 80},
{'name': 'Bob', 'age': 30, 'score': 90},
{'name': 'Charlie', 'age': 25, 'score': 85},
{'name': 'David', 'age': 30, 'score': 95},
{'name': 'Eva', 'age': 25, 'score': 75},
]
# 按照年龄分组,并求每组的分数和
grouped_data = groupby(data, key=lambda x: x['age'])
for age, group in grouped_data:
total_score = sum(item['score'] for item in group)
print(f"Age {age}: total score = {total_score}")
```
输出结果为:
```
Age 25: total score = 240
Age 30: total score = 185
```
在上面的例子中,我们使用`groupby`函数将数据按照`age`字段分组,然后对每组数据使用`sum`函数求和。注意,`groupby`函数返回的是一个迭代器,需要使用循环来遍历每一组数据。
阅读全文