Python实例10:文本词频统计

6.6.1 问题分析

在英文中文中,出现哪些词,出现多少次?

6.6.2 hamlet英文词频统计

  • CalHamletV1.py

6.6.3 三国演义人物出场统计

  • CalThreeKingdomsV1.py
  • CalThreeKingdomsV2.py
# CalHamletV1.py
def getText():     #获取文本,归一化处理文本txt = open("E:\python\learn\hamlet.txt","r").read()   #打开文件txt = txt.lower()     #将所有大写字母变成小写for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_{|}~"':   #将文本中特殊符号替换为空格txt = txt.replace(ch," ")return txt
hamletTxt = getText()
words = hamletTxt.split()    #采用空格将字符串中的信息进行分隔,以列表形式返回给变量
counts = {}
for word in words:counts[word] = counts.get(word,0) + 1   #统计字数
items = list(counts.items())    #将字典类型转换成列表类型
items.sort(key=lambda x:x[1], reverse=True)    #对一个列表按照键值对的2个元素的第2个元素进行排序,排序方式为由大到小的倒排
for i in range(10):    #将前10位字数打印输出word, count = items[i]print("{0:<10}{1:>5}".format(word,count))
the         137
to           99
he           71
and          65
hamlet       57
of           52
his          52
was          49
that         36
king         31
#CalThreeKingdomsV1.py   三国演义人物出场文本统计
import jieba
txt = open("E:/python/learn/threekingdoms.txt","r",encoding="utf-8").read()
words = jieba.lcut(txt)
counts = {}
for word in words:if len(word) == 1:continueelse:counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)
for i in range(15):word, count = items[i]print("{0:<10}{1:>5}".format(word, count))
曹操          934
孔明          831
将军          761
却说          647
玄德          569
关公          509
丞相          488
二人          465
不可          435
荆州          420
孔明曰         385
玄德曰         383
不能          383
如此          376
张飞          348
#CalThreeKingdomsV2.py   三国演义人物出场文本统计
import jieba
txt = open("E:/python/learn/threekingdoms.txt","r",encoding="utf-8").read()
excludes = {"将军","却说","荆州","二人","不可","不能","如此"}   #构建排除集合
words = jieba.lcut(txt)
counts = {}
for word in words:if len(word) == 1:continueelif word =="诸葛亮" or word =="孔明曰":rword = "孔明"elif word =="关公" or word =="云长":rword = "关羽"elif word =="玄德" or word =="玄德曰":rword = "刘备"elif word =="孟德" or word =="丞相":rword = "曹操"else:rword = wordcounts[rword] = counts.get(rword,0) + 1
for word in excludes:del counts[word]
items = list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)
for i in range(15):word, count = items[i]print("{0:<10}{1:>5}".format(word, count))
曹操         1429
孔明         1373
刘备         1223
关羽          779
张飞          348
商议          344
如何          336
主公          327
军士          310
吕布          300
左右          291
军马          288
次日          270
引兵          269
大喜          265

点赞,关注,收藏

Python实例10:文本词频统计相关推荐

  1. Python实例分析——文本词频统计

    基于中国大学mooc网嵩天老师的<Python语言程序设计>课程实例 文章目录 一.数字文本 pi 二.英文文本 *Hamlet* 三.中文文本<三国演义> 一.数字文本 pi ...

  2. python词频统计西游记_实例10-文本词频统计.pdf

    Python语言程序设计 实例10: 文本词频统计 嵩 天 北京理工大学 "文本词频统计"问题分析 CC BY-NC-SA 4.0 嵩天 问题分析 文本词频统计 - 需求 :一篇文 ...

  3. Python_note6 组合数据类型+jieba库+文本词频统计

    集合类型和操作 集合元素不可修改,由不可变数据类型组成,元素不可重复 a = {"python",123,("python",123)}使用{}建立集合 b = ...

  4. Python—— 组合数据类型(模块5: jieba库的使用)(实例:基本统计值计算文本词频统计)

    前言 本篇主要介绍组合数据类型,以基本统计值计算为例,介绍函数使用和各种类型定义.以文本词频统计为例,介绍Jieba库的使用. (从本篇开始,出现的一些库中函数介绍以及部分简单代码都将以图片形式呈现) ...

  5. Python实例--文本词频统计

    最近在MOOC跟着北京理工大学的嵩天老师学习Python(https://www.icourse163.org/learn/BIT-268001?tid=1003243006#/learn/annou ...

  6. python哈姆雷特词频统计_python—文本词频统计 哈姆雷特 txt 下载

    原博文 2020-05-13 15:49 − 文本词频统计 -- Hamlet Hamlet下载 链接:https://pan.baidu.com/s/1Is2mBAED57i6nI38lcnXAA ...

  7. Python实现 文本词频统计(嵩天老师)

    实例10:文本词频统计 引用文本 英文文本:Hamet https://python123.io/resources/pye/hamlet.txt 中文文本:<三国演义> https:// ...

  8. python进行词频统计_如何利用Python进行文本词频统计

    欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 问题描述 Python在自然语言处理这个方面,有其天然的优势: ...

  9. python统计词频 创建字典_如何利用Python进行文本词频统计

    问题描述 Python在自然语言处理这个方面,有其天然的优势:简单,快捷.所以我们经常会遇到利用Python从一篇文档中,统计文本词频的问题.以<三国演义>这部名著为例,文中哪些人物的出场 ...

最新文章

  1. xCode BuildSetting 设置
  2. 机器学习、深度学习所需掌握的数学知识全都在这里了!
  3. 在有赞工作两年半的感受
  4. java 时间处理_JAVA处理日期时间常用方法
  5. Dojo学习笔记(一):Hello Dojo!
  6. vue-loader 作用
  7. Makefile之eval与call用法
  8. Spring IOP 面向切面编程
  9. STM32——库函数流水灯程序
  10. 主板在计算机系统中的应用,浅谈主板在计算机硬件系统中的重要
  11. 12个优秀的 HTML5 网站设计案例欣赏
  12. C++ Beep函数播放歌曲《千本樱》
  13. Linux内核调试方法
  14. e站host地址_IP地址和物理地址的区别和联系
  15. 路由期末复习(二)—配置命令
  16. 同步异步数据采集卡参数选择
  17. 16种英语时态总结归纳
  18. DataWhale_Pandas Task08 文本数据
  19. 测量平差中必要观测数的确定
  20. C语言#error的使用

热门文章

  1. 基于FPGA(basys3)的双人对战人机对战五子棋(vivado)课程设计项目
  2. win10环境下的spark2.4源码环境搭建
  3. 牛客VL7 求两个数的差值
  4. 名创优品偷偷“偷脸”被立案:多数门店系加盟,创始人为叶国富
  5. fusionsphere环境搭建_fusioncompute 环境搭建
  6. 个人收款码禁用经营用途
  7. R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
  8. 安防视频流媒体可视化服务EasyNVR存储模式之NVR、IP-SAN和CVR三种存储模式对比
  9. 今天搞清楚了自然常熟e的现实意义
  10. 服务器感染了.halo勒索病毒,如何确保数据文件完整恢复?