python里groupby之后统计
时间: 2023-08-01 17:09:50 浏览: 122
如何在datatable中使用groupby进行分组统计
在Python中,可以使用`itertools.groupby`函数对一个可迭代对象进行分组。然后,可以使用`collections.Counter`类来统计每个组中的元素数量。
下面是一个示例代码,展示了如何使用`groupby`和`Counter`来对一个列表进行分组和统计:
```python
from itertools import groupby
from collections import Counter
# 假设有一个包含数字的列表
numbers = [1, 1, 2, 2, 3, 4, 4, 4, 5]
# 使用groupby对列表进行分组
grouped = groupby(numbers)
# 使用Counter统计每个组中的元素数量
counts = [(key, len(list(group))) for key, group in grouped]
# 打印每个组的统计结果
for key, count in counts:
print(f"{key}: {count}")
```
输出结果:
```
1: 2
2: 2
3: 1
4: 3
5: 1
```
在上述示例中,我们首先使用`groupby`函数将数字列表进行分组,并得到一个可迭代的分组对象。然后,我们使用列表推导式和`len`函数将每个组的键和元素数量存储为一个列表。最后,我们遍历这个列表并打印每个组的键和计数。
希望这个示例能够解决你的问题!如果你有任何进一步的疑问,请随时提问。
阅读全文