Python3詞頻統計和排序

1.方法一:

# -*- coding: utf-8 -*-
from collections import defaultdict
import operator

#詞集列表
dataset = [ ['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'],
            ['maybe', 'not', 'take', 'him', 'to', 'dog', 'park', 'stupid'],
            ['my', 'dalmation', 'is', 'so', 'cute', 'I', 'love', 'him'],
          ]

word_frequency=defaultdict(int)
for row in dataset:
    for i in row:
        word_frequency[i]+=1
word_sort=sorted(word_frequency.items(),key=operator.itemgetter(1),reverse=True) #根據詞頻降序排序
print(word_sort)

2.方法二:

# -*- coding: utf-8 -*-

#詞集列表
dataset = [ ['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'],
            ['maybe', 'not', 'take', 'him', 'to', 'dog', 'park', 'stupid'],
            ['my', 'dalmation', 'is', 'so', 'cute', 'I', 'love', 'him'],
          ]

word_frequency={}
for row in dataset:
    for i in row:
        if i in word_frequency:
            word_frequency[i]+=1
        else:
            word_frequency[i]=1
word_sort=sorted(word_frequency.items(),key=lambda x:x[1],reverse=True) #根據詞頻降序排序
print(word_sort)

最終輸出結果:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章