一、问题描述

在做文本数据分析时,经常遇到需要做词频分析,而做词频分析又经常需要统计出现次数最高的几个词,下面代码给出了基于Python的文本数据统计,基本流程为:首先读取一个文本文件,之后进行分词,再去除停用词,最后统计出现次数最多的N个词。

二、Python代码

import jieba
from collections import Counter
############################################
# 功能:获取文本文件内容
# 输入参数
#       filename:待读取的文本文件名
# 返回值
#       txtConts:读取的文本内容
def GetTxtDataFromFile( filename ):with open( filename, mode = 'r' ) as fp:txtConts = fp.read()return txtConts
############################################
# 功能:分词,并去除分词结果中的停用词
# 输入参数
#       txtConts:原始文本
#       stopWord:停用词
# 返回值
#       cutList:去除停用词之后的分词结果
def CutWithStopWord( txtConts, stopWord ):cutList = []strList = jieba.cut( txtConts )for word in strList:if not( word in stopWord ) and len( word ) > 1:cutList.append( word )return cutList
############################################
# 功能:统计分词之后出现次数最多的N个词
# 输入参数
#       words:分词之后的词列表
#       N:出现次数最多的N个词
# 返回值
#       wordListNTop:出现次数最多的N个词及其出现的次数
def StatTopNWords( words, N ):wordList = []#统计每个词出现的次数wordList = Counter( words )#统计出现的次数最多的N个词及出现的次数wordListNTop = wordList.most_common( N )return wordListNTopdef main():txtConts = GetTxtDataFromFile( 'text.txt' )stopWords = GetTxtDataFromFile( 'stopword.txt' )cutWordsResults = CutWithStopWord( txtConts, stopWords )wordListNTop = StatTopNWords( cutWordsResults, 10 )print( 'Initial txtConts:\n', txtConts )print( 'cutWordsResults:\n', '/'.join( cutWordsResults ) )print( 'wordListNTop:\n', wordListNTop )if __name__ == '__main__':main()

作者:YangYF

文本分词并统计出现次数最高的几个词Python相关推荐

  1. Java基础练习题7--【猜拳游戏,模拟双色球功能,统计词语次数,判断大写字母,敏感词过滤程序】

    文章目录 1.猜拳游戏 2.模拟双色球摇奖功能 3.统计某个词语的出现次数 4.判断输入的字母是否为大写字母 5.编写敏感词过滤程序 1.猜拳游戏 1表示石头,2表示剪刀,3表示布 接收用户输入的拳 ...

  2. python猜数字统计游戏次数_猜数字游戏(Python)

    在Python3中工作.在 我对Python还比较陌生(只有几个星期的知识).在 这个程序给我的提示是写一个随机数游戏,用户必须猜出随机数(1到100之间),如果不正确,就会提示它太低或太高.然后用户 ...

  3. python高频词统计_python几万条微博高频词分析

    python几万条微博高频词分析 看到别人有做影视热评的分析统计,觉得挺好玩的,就来试试 看看效果 Screenshot_2018-05-21-11-00-42-879_com.master.wei. ...

  4. 数据挖掘之jieba模块使用(读取单个文本内容(txt,word,pdf),对文章进行分词(中文)统计每个词语出现的次数并按从大到小排序,同时通过停用词库排除停用词)

    实验室终于开始搞新的东西了,我又可以学到更大佬的知识了~(虽然以前的知识都没掌握-) 这次分享实验室留的作业(对jieba模块的使用) 首先要设置停用词 # 设置停用词 print('start re ...

  5. python词频统计完整步骤_Python中文文本分词、词频统计、词云绘制

    本文主要从中文文本分词.词频统计.词云绘制方面介绍Python中文文本分词的使用.会使用到的中文文本处理包包括:wordcloud,jieba,re(正则表达式),collections. 1 准备工 ...

  6. python统计单词出现次数最多的5个单词_【Python】统计文本中单词的出现次数前十的单词...

    代码: # 读取一个文本,并且统计文本中单词的出现次数 def read_file(): # 在windows环境中的编码问题,指定utf-8 with open('F:/python源码/实验区/0 ...

  7. 【Python】英文文本分词与词频统计(split()函数、re库)

    英文文本分词 1.知识准备 (1)Python中的split()函数的用法 了解split()的基本用法 (2)python多个分割符split字符串 了解re库的部分用法 Python strip( ...

  8. HMM隐马尔可夫模型进行中文文本分词

    文章目录 一.HMM简述 1.引入 2.隐马尔科夫模型 (1)定义(Definition of a hidden Markov model) (2)应用 3.前向算法(了解) 4. 维特比算法 5.前 ...

  9. Rstudio 实现 爬虫 文本分词 个性化词云设计--我爱中国我爱党

    Rstudio 爬虫 文本分词个性化词云设计 目录 1.环境准备,加载依赖 2.rvest 爬虫,数据爬取 3.jiebaR用于分词,词频统计 4.wordcloud2 结果可视化 ========= ...

最新文章

  1. 全球数百万台 Mac 疑似因 Big Sur 更新险酿计算灾难,苹果官方回应来了!
  2. Silverlight客户端分页 DataPager控件的使用
  3. 网站优化之尽量避免重定向(301/302)
  4. 用递归方式判断字符串是否是回文
  5. eclipse maven打包_Maven 学习
  6. el-table 行背景颜色_使用HTML添加表格4(行颜色与表格嵌套)——零基础自学网页制作
  7. android 仿今日头条_Android今日头条UI适配完善版
  8. php怎么读,php 怎么读写文件?
  9. Android java传递int类型数组给C
  10. java手机翻译,使用JUniversal翻译Android项目
  11. 【Gym-100513 K】Treeland【bfs序构造】
  12. python安装包错误的问题
  13. 曼昆《经济学原理(微观经济学分册)》(第6版)课后习题答案
  14. 弱口令扫描工具mysql ftp_S-X弱口令扫描工具 V1.0
  15. Win10系统电脑开机后显示无法登录到你的账户解决办法(亲测)
  16. python--基础知识点--继承、多态、鸭子类型
  17. 配置管理的目标和主要活动
  18. linux运行directory,我在linux里用命令出来is a directory是怎么回事
  19. python中‘ ‘.join()的使用
  20. 2005高考作文题目汇总

热门文章

  1. 使用javamail、阿里云邮箱发送邮件
  2. Neo4j ① <图论>图,节点,关系,属性<知识图谱和图库>图谱,图库,优势<基础>模块,应用场景,环境搭建,浏览器
  3. 家乡菜之回锅茄子_wizard_新浪博客
  4. 报告!优维科技EasyOps®️全栈运维平台又一大波新功能上线
  5. PPT——————酷炫文字、人物海报
  6. mysql查询每个部门工资最高的员工信息_获取每个部门中当前员工薪水最高的相关信息...
  7. python专场——暴力破解(DVWA)
  8. Viso跨职能流程图连接点操作
  9. 第十章 宠物商店 数据库建立插入信息
  10. (已更新)全新商城微信小程序源码支持对接公众号