python groupby多条件统计
时间: 2023-09-02 22:05:52 浏览: 98
可以使用Python中的groupby函数和lambda表达式来实现多条件统计,例如:
```python
from itertools import groupby
data = [
{'name': 'Alice', 'gender': 'F', 'age': 23},
{'name': 'Bob', 'gender': 'M', 'age': 25},
{'name': 'Charlie', 'gender': 'M', 'age': 22},
{'name': 'David', 'gender': 'M', 'age': 23},
{'name': 'Eve', 'gender': 'F', 'age': 24},
{'name': 'Frank', 'gender': 'M', 'age': 22},
]
result = []
for key, group in groupby(sorted(data, key=lambda x: (x['gender'], x['age'])), key=lambda x: (x['gender'], x['age'])):
result.append({'gender': key[0], 'age': key[1], 'count': len(list(group))})
print(result)
```
输出结果为:
```python
[{'gender': 'F', 'age': 23, 'count': 1},
{'gender': 'F', 'age': 24, 'count': 1},
{'gender': 'M', 'age': 22, 'count': 2},
{'gender': 'M', 'age': 23, 'count': 1},
{'gender': 'M', 'age': 25, 'count': 1}]
```
这个程序实现了按照性别和年龄分组,并统计每组的数量。
阅读全文