如何使用Python按多个键对字典列表进行分组并计算各组的平均值?

2026-06-11 05:160阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计650个文字,预计阅读时间需要3分钟。

如何使用Python按多个键对字典列表进行分组并计算各组的平均值?

通过多个键值对进行分组并计算字典列表的平均值,最Pythonic的方法是使用`collections.defaultdict`来分组,然后对每个分组计算平均值。以下是具体实现:

pythonfrom collections import defaultdict

input=[ {'dept': '001', 'sku': 'foo', 'transId': 'uniqueId1', 'qty': 100}, {'dept': '001', 'sku': 'foo', 'transId': 'uniqueId2', 'qty': 150}, {'dept': '002', 'sku': 'bar', 'transId': 'uniqueId3', 'qty': 200}, {'dept': '002', 'sku': 'bar', 'transId': 'uniqueId4', 'qty': 250},]

使用defaultdict按dept分组grouped=defaultdict(list)for item in input: grouped[item['dept']].append(item['qty'])

计算每个分组的平均值averages={dept: sum(qties) / len(qties) for dept, qties in grouped.items()}

averages

输出结果将是一个字典,包含每个部门及其对应字典列表的平均值。

阅读全文

本文共计650个文字,预计阅读时间需要3分钟。

如何使用Python按多个键对字典列表进行分组并计算各组的平均值?

通过多个键值对进行分组并计算字典列表的平均值,最Pythonic的方法是使用`collections.defaultdict`来分组,然后对每个分组计算平均值。以下是具体实现:

pythonfrom collections import defaultdict

input=[ {'dept': '001', 'sku': 'foo', 'transId': 'uniqueId1', 'qty': 100}, {'dept': '001', 'sku': 'foo', 'transId': 'uniqueId2', 'qty': 150}, {'dept': '002', 'sku': 'bar', 'transId': 'uniqueId3', 'qty': 200}, {'dept': '002', 'sku': 'bar', 'transId': 'uniqueId4', 'qty': 250},]

使用defaultdict按dept分组grouped=defaultdict(list)for item in input: grouped[item['dept']].append(item['qty'])

计算每个分组的平均值averages={dept: sum(qties) / len(qties) for dept, qties in grouped.items()}

averages

输出结果将是一个字典,包含每个部门及其对应字典列表的平均值。

阅读全文