如何在Python计数器中使用most_common?

时间:2014-12-11 11:39:31

标签: python counter

我有一个功能,旨在从我的数据中给出最低百分比的单词。这个功能是:

def bottomnpercent(table,n):

words=0
wordcounter=Counter()
for key, data in table.scan():
    if not key in stopwords:
        words+=1
        wordcounter[key]+= getsomedata 
        idx=percentage(n,words)
return Counter(wordcounter.most_common()[-idx:])

(table.scan循环通过具有单词和频率计数的HBASE表; getsomedata执行查找以返回特定单词的计数。)

问题是这会返回一个形式的计数器:

Counter({('stopped', 173): 1, ('thrilling', 17): 1, ('fluids', 18): 1, ('Pictures', 18): 1, ('steering', 37): 1,... 

这并不好,因为一切都发生了一次,我需要这样的东西:

 Counter({('stopped'): 173, ('thrilling'): 17, ('fluids'): 18, ('Pictures'): 18, ('steering'): 37,... 

但我无法弄清楚如何。任何帮助深表感谢。 TIA!

1 个答案:

答案 0 :(得分:1)

因为wordcounter是一个计数器(wordcounter=Counter()),你再次在另一个计数器return Counter(wordcounter.most_common()[-idx:])内使用它!你只需要返回以下内容:

return wordcounter.most_common()[-idx:]