首页 > 编程语言 > 详细

【python】一篇文章里的词频统计

时间:2019-10-12 14:08:34      阅读:95      评论:0      收藏:0      [点我收藏+]

一、环境

  1.python3.6

  2.windows系统

  3.安装第三方模块

pip install wordcloud    #词云展示库
pip install jieba            #结巴分词
pip install matplotlib     #图像展示库  

 

二、需求

统计article.txt里的文章的词频

 

三、代码

import collections  #词库统计库,自带模块
import re       #正则表达式  自带模块
import wordcloud    #词云展示库,pip install wordcloud
import jieba        #结巴分词,pip install jieba
import matplotlib.pyplot as plt     #图像展示库  pip install matplotlib


#读取文件
fn = open(article.txt,encoding=utf-8)    #打开文件
string_data = fn.read()     #读取整个文件
fn.close()                  #关闭文件

#文本预处理
pattern = re.compile(u\t|\n|\.|-|:|;|\)|\(|\?|")  #定义正则表达式匹配模式
string_data = re.sub(pattern,‘‘,string_data)        #将符合模式的字符去除
print(string_data)
#文本分词
seg_list_exact = jieba.cut(string_data,cut_all=False)   #精确模式分词
object_list = []
remove_words = [u,u,u,u,u,u,u如果,u通常,u我们,u需要,u随着,u ,u,u,u,u,u,u,u]      #自定义去除词库
# print(seg_list_exact)

for word in seg_list_exact: #循环读出每个分词
    if word not in remove_words:    #如果不在去除词库中
        object_list.append(word)    #分词追加到列表
# print(object_list)

# # 词频统计
word_counts = collections.Counter(object_list)  #对分词做词频统计
word_counts_top10 = word_counts.most_common(10) #获取前10最高频的词
print(word_counts_top10)    #输出检查
#
# # 词频展示
wc = wordcloud.WordCloud(background_color="black",  # 设置背景颜色
               max_words=200,  # 设置最大显示的字数
               font_path="FZSTK.TTF",  # 设置中文字体,词云默认字体是“DroidSansMono.ttf字体库”,不支持中文
               max_font_size=50,  # 设置字体最大值
               random_state=30,  # 设置有多少种随机生成状态,即有多少种配色方案
               )
#
wc.generate_from_frequencies(word_counts)   #从字典生成词云
plt.imshow(wc)      #显示词云
plt.axis(off)     #关闭坐标轴
plt.show()          #显示图像

 

 

四、结果展示

技术分享图片

 

【python】一篇文章里的词频统计

原文:https://www.cnblogs.com/lisenlin/p/11661083.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!