python字典求平均值_python – 按多个键分组并汇总字典列表的值/平均值

本文展示了如何使用Python对字典列表按特定键进行分组,并计算每组的平均值。通过`itertools.groupby`和`operator.itemgetter`函数对数据进行排序和分组,然后计算'qty'的总和和平均值,最后将结果添加到新的字典中。
摘要由CSDN通过智能技术生成

获得汇总结果

from itertools import groupby

from operator import itemgetter

grouper = itemgetter("dept", "sku")

result = []

for key, grp in groupby(sorted(input_data, key = grouper), grouper):

temp_dict = dict(zip(["dept", "sku"], key))

temp_dict["qty"] = sum(item["qty"] for item in grp)

result.append(temp_dict)

from pprint import pprint

pprint(result)

产量

[{'dept': '001', 'qty': 200, 'sku': 'bar'},

{'dept': '001', 'qty': 400, 'sku': 'foo'},

{'dept': '002', 'qty': 900, 'sku': 'baz'},

{'dept': '002', 'qty': 600, 'sku': 'qux'},

{'dept': '003', 'qty': 700, 'sku': 'foo'}]

要获得平均值,您可以简单地更改for循环内的内容,就

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值