下载一中文长篇小说,并转换成UTF-8编码。
使用jieba库,进行中文词频统计,输出TOP20的词及出现次数。
排除一些无意义词、合并同一词。
import jiebatxt=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)+1wc=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 jiebatxt=open('yanxi.txt','r',encoding='utf-8').read()words=list(jieba.cut(txt))exc={ '是','正当','为','便','与','欲','也','不','了'}keys=set(words)keys=set(words)-excdic={}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)>>>