gpt4 book ai didi

Python:如何拆分值并按类别查找平均值

转载 作者:太空宇宙 更新时间:2023-11-03 15:57:41 25 4
gpt4 key购买 nike

我是 Python 和编程的新手,正在努力理解一个问题。任何帮助是极大的赞赏。

我有一个值和类别的双端队列:

deque([(3000.0, category1), (6000.0, category1), (8000.0, category2), (3000.0, category3), (7000.0, category3), (4500.0, category3)])

我正在尝试使用字典按类别打印每个值的平均值。例如,类别 1 = (3000 + 6000)/2;类别 2 = 8000/1;类别 3 = (3000 + 7000 + 4500)/3。

有没有简单的方法来做到这一点?到目前为止,我唯一的想法是创建一个独特类别列表:

catetory_list = []
for i in deque:
if i[1] not in category_list:
category_list.append(i[1])

我想我在这里遗漏了一些重要的东西,但似乎找不到下一步。

我已经在这里发现了一些类似的问题,即 herehere ,但我正在努力研究如何使其适合我的问题。

最佳答案

你很接近,我认为你需要用值构造一个 dict。然后对之后的值进行平均:

示例数据:

my_dq = deque([
(3000.0, 'category1'), (6000.0, 'category1'), (8000.0, 'category2'),
(3000.0, 'category3'), (7000.0, 'category3'), (4500.0, 'category3')])

代码:

categories = {}
for i in my_dq:
categories.setdefault(i[1], []).append(i[0])
categories = {k: sum(v) / len(v) for k, v in categories.items()}

结果:

{'category1': 4500.0, 'category3': 4833.3333, 'category2': 8000.0}

关于Python:如何拆分值并按类别查找平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42351856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com