繁体   English   中英

在满足特定条件的情况下,如何找到字典中某个值的平均值?

[英]How do I find the average of a value in a dictionary, where a certain condition is met?

知道这怎么可能会很有趣,我已经从 csv 文件的字典中获得了这个信息。

举例来说,我们有以下字典,我实际拥有的字典大约是它的 40 倍,所以我想使用一个较小的例子更容易理解。 出于上下文目的:我的原始字典是一本包含大约 10 种不同动物的大字典,我需要在其中找到平均年龄、最高价格等,但前提是动物是猫。

因此,我决定提供一个具有相同原则但更小的替代字典以用于提问目的。

example_dictionary = {'name': [Tim, Frank, Pete, Sam, Lauren, Darren, Michael], 'country': ['Netherlands', 'United Kingdom', 'United Kingdom', 'United Kingdom', 'United Kingdom', 'United Kingdom', 'Netherlands'], 'grade': [6.7, 7.6, 6.4, 6.8, 7.7, 8.6, 9.0]}

我想要完成的任务:获取来自“英国”的所有用户的平均分、最高分和最低分

所以我最终会得到 output:“英国用户的平均评分是:7.42

我不需要所有 3 个的解决方案,我只需要一个示例,然后我可以自己计算出平均最小值或最大值。

这是一个相当简单的问题,有很多方法可以真正解决它 go。 正如上面提到的评论者,你应该能够通过一些实践 / python 基础知识来解决这个问题。 但我正在分享一个解决方案来帮助您按照您的要求开始:)

sum_grades = 0
num_matches = 0
for country_, grade_ in zip(example_dictionary['country'], example_dictionary['grade']):
    if country_=='United Kingdom':
        sum_grades += grade_
        num_matches += 1

avg_uk_grades = sum_grades / num_matches

print(f"The average grade of users from the United Kingdom is: {avg_uk_grades}")

这应该会按照您的要求打印出英国的平均成绩。

您甚至可以使用列表推导以更短的代码实现这一点。 但如果你不熟悉,我会让你调查一下:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM