以下是一个示例代码,演示了如何按组计数并同时在所有行中计算总数:
from collections import defaultdict
# 示例输入数据
data = [
{'group': 'A', 'value': 2},
{'group': 'A', 'value': 3},
{'group': 'B', 'value': 1},
{'group': 'B', 'value': 4},
{'group': 'C', 'value': 2}
]
# 使用 defaultdict 初始化一个空字典,用于存储每个组的计数和总数
counts = defaultdict(int)
totals = defaultdict(int)
# 遍历输入数据,按组计数并在所有行中计算总数
for row in data:
group = row['group']
value = row['value']
counts[group] += 1
totals[group] += value
# 打印每个组的计数和总数
for group in counts:
print(f"Group {group}: count={counts[group]}, total={totals[group]}")
运行结果:
Group A: count=2, total=5
Group B: count=2, total=5
Group C: count=1, total=2
在上述示例中,我们使用了defaultdict
来创建一个空字典,其中每个值的默认值为0。然后,我们遍历输入数据,并在每次遍历中更新计数和总数。最后,我们打印出每个组的计数和总数。
上一篇:按组计数,并添加残疾类别
下一篇:按组计算变量得分改变的次数