python - 如何统计Python字典中总值的频率?

标签 python dictionary count frequency

我觉得这是一个重复的问题。假设我有以下 python 字典:

dict = {"file1":["January", "April", "May", "December"], 
    "file2":["February", "March", "May", "December"], 
    "file3":["March", "October", "November", "December"]}

我想知道这个字典dict中每个值的总频率,即

"December": 3
"May": 2
"March": 2
"January": 1
"February": 1
"April": 1
"October": 1 
"November": 1 

最终目标是创建一个直方图,所以我怀疑我会将其转换为 pandas 系列。

这通常是如何完成的?

最佳答案

您可以使用Counter这是一个用于计算可哈希对象的 dict 子类:

>>> d = {"file1": ["January", "April", "May", "December"], "file2": ["February", "March", "May", "December"],"file3": ["March", "October", "November", "December"]}
>>>
>>> from collections import Counter
>>> Counter(sum(d.values(),[]))

Counter({'December': 3, 'March': 2, 'May': 2, 'February': 1, 'October': 1, 'April': 1, 'January': 1, 'November': 1})

关于python - 如何统计Python字典中总值的频率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43728774/

相关文章:

python - 生成一个范围内的连续字符串

swift - 不清楚的 Swift 编码

c++ - 更正友元定义以授予 std::map 对私有(private)默认构造函数的访问权限

c - 如何计算整数数组中的元素数

python - 如何修复非贪婪正则表达式

python - 如何根据值是否属于特定存储桶合并 2 个数据帧?

python - 如何将两个字符串转换为 Python 中的函数名称

等效于 C# ToDictionary 的 JavaScript

php - 从所有 WooCommerce 预订中获取所有人的总和

php - MySQL+PHP : optimise ranking query and count subquery