如何计算 python 字典中总值的出现频率?

How to tally the frequency of total values in a python dictionary?

我觉得这是一个重复的问题。假设我有以下 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 这是一个用于计算可散列对象的字典子类:

>>> 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})