我有一个功能,旨在从我的数据中给出最低百分比的单词。这个功能是:
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!
答案 0 :(得分:1)
因为wordcounter
是一个计数器(wordcounter=Counter()
),你再次在另一个计数器return Counter(wordcounter.most_common()[-idx:])
内使用它!你只需要返回以下内容:
return wordcounter.most_common()[-idx:]