如何在满足一定条件的字典中找到一个值的平均值?



这将是有趣的知道这是如何可能的,我已经从一个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]}

我想要完成的:得到所有用户的平均,最高和最低等级,来自"英国">

所以我最终得到的输出是:"来自英国的用户的平均等级是:7.42

我不需要所有三个的解,我只需要一个例子,然后我就可以自己算出最小或最大的平均值。

这是一个相当简单的问题,实际上有很多方法可以解决它。正如上面的评论者所提到的,您应该能够通过一些实践/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}")

这应该打印出英国的平均成绩,正如你所要求的。

您甚至可以使用更短的代码使用列表推导式来实现这一点。但是如果你不熟悉的话,我可以让你看看:)

最新更新