python groupby 多函数
时间: 2024-05-15 12:11:04 浏览: 94
Python DataFrame.groupby()聚合函数,分组级运算
Python中的groupby函数是一个非常有用的函数,它可以按照指定的键对序列进行分组,然后返回一个由分组后的元素构成的迭代器。在使用groupby函数时,通常需要指定一个key函数来告诉函数如何对序列进行分组。除了key函数之外,groupby函数还可以接受一个可选的value函数和一个可选的合并函数,用于对分组后的元素进行处理和合并。其中value函数用于对每个元素进行处理,而合并函数用于将处理后的元素合并成一个值。下面是一个使用groupby函数的示例:
```
from itertools import groupby
# 定义一个字典列表
data = [{'name': 'apple', 'type': 'fruit', 'price': 1.0},
{'name': 'banana', 'type': 'fruit', 'price': 0.5},
{'name': 'carrot', 'type': 'vegetable', 'price': 0.2},
{'name': 'orange', 'type': 'fruit', 'price': 1.2},
{'name': 'potato', 'type': 'vegetable', 'price': 0.3},
{'name': 'tomato', 'type': 'vegetable', 'price': 0.8}]
# 按照type字段进行分组
groups = groupby(data, lambda x: x['type'])
# 对每个分组中的元素进行处理,并将结果合并成一个值
for key, group in groups:
total_price = sum(item['price'] for item in group)
print(f"{key}: {total_price}")
```
这段代码会按照data中每个元素的type字段进行分组,并对每个分组中的元素的price字段进行求和操作。输出结果如下:
```
fruit: 2.7
vegetable: 1.3
```
阅读全文