下载一中文长篇小说,并转换成UTF-8编码。
使用jieba库,进行中文词频统计,输出TOP20的词及出现次数。
排除一些无意义词、合并同一词。
import jieba txt=open('yanxi.txt','r',encoding='utf-8').read() words=jieba.cut(txt) dic={} for w in words: if len(w)==1: continue else: dic[w]=dic.get(w,0)+1 wc=list(dic.items()) wc.sort(key=lambda x:x[1],reverse=True) for i in range(20): print(wc[i])
对词频统计结果做简单的解读。
('黛玉', 10)
('宝玉', 9)
('红楼梦', 4)
('落花', 3)
('葬花', 3)
('黛玉正', 2)
('之间', 2)
('误会', 2)
('不是', 2)
('正当', 2)
('引出', 2)
('声音', 2)
('不由', 2)
('正巧', 2)
('前去', 2)
('再次', 2)
('由此', 2)
('西厢', 2)
('不忍', 2)
('黛玉为', 2)
import jieba txt=open('yanxi.txt','r',encoding='utf-8').read() words=list(jieba.cut(txt)) exc={'是','正当','为','便','与','欲','也','不','了'} keys=set(words) keys=set(words)-exc dic={} for w in keys: dic[w]=words.count(w) wc=list(dic.items()) wc.sort(key=lambda x:x[1],reverse=True) for i in range(20): print(wc[i])
(',', 71)
('。', 12)
('黛玉', 10)
('宝玉', 9)
('之', 5)
('听', 4)
('红楼梦', 4)
('亦', 4)
('葬花', 3)
('落花', 3)
('、', 3)
('又', 3)
('《', 3)
('着', 3)
('》', 3)
('而', 3)
('至', 3)
('的', 2)
('误会', 2)
('却', 2)
>>>