一、环境

  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】一篇文章里的词频统计的更多相关文章

  1. python复合数据类型以及英文词频统计

    这个作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2753. 1.列表,元组,字典,集合分别如何增删改查及遍历. 列 ...

  2. python瓦登尔湖词频统计

    #瓦登尔湖词频统计: import string path = 'D:/python3/Walden.txt' with open(path,'r',encoding= 'utf-8') as tex ...

  3. python英文与中文的词频统计

    1.统计英文单词, # 1.准备utf-8编码的文本文件file(已在文件夹中定义了 一个名叫“head.txt.rtf”文本文件,详情请见截图) def getTxt(): #3对文本预处理(包括) ...

  4. Python数据分析之文本处理词频统计

    1.项目背景: 原本计划着爬某房产网站的数据做点分析, 结果数据太烂了,链家网的数据干净点, 但都是新开楼盘,没有时间维度,分析意义不大. 学习的步伐不能ting,自然语言处理还的go on 2.分析 ...

  5. python jieba分词小说与词频统计

    1.知识点 """ 1)cut() a) codecs.open() 解决编码问题 b) f.readline() 读取一行,也可以使用f.readlines()读取多行 ...

  6. 一篇文章让你学透Linux系统中的more命令

    Linux 下有很多实用工具可以让你在终端界面查看文本文件.其中一个就是 more. more 跟我之前另一篇文章里写到的工具 —— less 很相似.它们之间的主要不同点在于 more 只允许你向前 ...

  7. spark ---词频统计(二)

    利用python来操作spark的词频统计,现将过程分享如下: 1.新建项目:(这里是在已有的项目中创建的,可单独创建wordcount项目) ①新建txt文件: wordcount.txt (文件内 ...

  8. 一篇文章图文并茂地带你轻松学完 JavaScript 设计模式(一)

    JavaScript 设计模式(一) 本文需要读者至少拥有基础的 ES6 知识,包括 Proxy, Reflect 以及 Generator 函数等. 至于这次为什么分了两篇文章,有损传统以及标题的正 ...

  9. Python之利用jieba库做词频统计且制作词云图

    一.环境以及注意事项 1.windows10家庭版 python 3.7.1 2.需要使用到的库 wordcloud(词云),jieba(中文分词库),安装过程不展示 3.注意事项:由于wordclo ...

随机推荐

  1. uniapp增加百度统计代码(h5)

    做了个微信公众号文章互相阅读的h5界面,http://mptask.wintp.top/(只能微信浏览器打开),其中用到了统计代码,记录如下. 1.新建 tj.html 界面 可放置在项目的根目录,文 ...

  2. 刷题记录and日记

  3. haproxy 配置文件详解 之 backend

    配置示例: backend htmpool mode http option redispatch option abortonclose balance static-rr cookie SESSI ...

  4. vue - 小日历项目制作中的问题与解决思路

    效果图: 项目难点: 1. 每个月的日期数是不定的,拢共需要几个格子? 按照教程的做法需要42个.所以遍历数字42,得到42个div做格子. 2. 格子的排版怎么做? 顶部的星期布局使用的flex水平 ...

  5. C#内存泄露与资源释放 经验总结

    本文链接:http://blog.csdn.net/yokeqi/article/details/41083939 C#相比其他语言,拥有强大的垃圾回收机制,但并不是这样,你就可以对内存管理放任不管, ...

  6. Linux中文件权限查看和修改

    权限定义 linux文件权限分为:r读权限(4).w写权限(2).x执行权限(1) linux权限对象分为:拥有者.组用户.其他用户 权限修改: chown user:group /usr/local ...

  7. Android的开机启动流程

    1.Android的开机启动流程 Android的层次框架图,如下所示: 图片清晰地展示了Android的五层架构,从上到下依次是:应用层.应用框架层.库层.运行时层以及Linux内核层.Androi ...

  8. 【剑指offer】剪绳子

    题目描述 给你一根长度为n的绳子,请把绳子剪成m段(m.n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],...,k[m].请问k[0]xk[1]x...xk[m]可能 ...

  9. The Preliminary Contest for ICPC Asia Nanjing 2019/2019南京网络赛——题解

    (施工中……已更新DF) 比赛传送门:https://www.jisuanke.com/contest/3004 D. Robots(期望dp) 题意 给一个DAG,保证入度为$0$的点只有$1$,出 ...

  10. CAS自旋volatile变量

    public final int getAndIncrement() { for (;;) { int current = get(); // 取得AtomicInteger里存储的数值 int ne ...