如何计算 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})
我觉得这是一个重复的问题。假设我有以下 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})