【发布时间】:2016-03-29 22:34:29
【问题描述】:
我能找到的所有其他答案都特别提到聚合列表列表中的所有嵌套列表,因为我希望为每个列表单独聚合。
我目前有一个列表列表:
master_list = [[a,a,b,b,b,c,c,c], [d,d,d,a,a,a,c,c,c], [c,c,c,a,a,f,f,f]]
我想通过循环为每个列表返回一个字典或 Counter() 对象:
counter1 = {'a': 2, 'b': 3, 'c': 3}
counter2 = {'d': 3, 'a': 3, 'c': 3}
counter3 = {'c': 3, 'a': 2, 'f': 3}
目前,我正在使用循环返回一些看起来像这样的东西 - 这并不是我想要的,因为它们都集中在一起,我无法单独访问计数器对象:
Input:
count = Counter()
for lists in master_list:
for words in lists:
count[words] += 1
Output:
Counter({'a': 2, 'b': 3, 'c': 3})
Counter({'d': 3, 'a': 3, 'c': 3})
Counter({'c': 3, 'a': 2, 'f': 3})
上面的问题是我似乎无法找到一种单独获取每个 Counter 的方法,因为我正在尝试为这些字典/计数器对象中的每一个创建一个 pandas 数据框。我正在尝试以编程方式执行此操作,因为我的“master_list”中有数百个列表,我想返回一个数据框,显示每个单独列表的元素频率。最后,我将为“主列表”中的每个列表提供一个单独的数据框和计数器对象
目前我有一些只返回 1 个数据框的东西:
Input:
table = pandas.DataFrame(count.items())
table.columns = ['Word', 'Frequency']
table.sort_values(by=['Frequency'], ascending = [False])
Output:
Word Frequency
the 542
and 125
or 45
. .
. .
. .
. .
任何见解都将不胜感激 - 此外,任何有关单独处理 Counter() 对象的技巧都将不胜感激。
【问题讨论】:
-
你到底指的是什么?
标签: python pandas dataframe counter nested-lists