Python实例--文本词频统计
最近在MOOC跟着北京理工大学的嵩天老师学习Python(https://www.icourse163.org/learn/BIT-268001?tid=1003243006#/learn/announce),受益匪浅,老师所讲的通俗易懂,推荐给大家。
在此记点笔记和注释,备忘。
今天所记得是文本词频统计-Hamlet文本词频统计。
英文文本
Hamlet词频统计文件链接:https://python123.io/resources/pye/hamlet.txt
直接上源代码
#CalHamletV1.py
def getText():txt = open("E:\hamlet.txt", "r").read() #读取Hamlet文本文件,并返回给txttxt = txt.lower() #将文件中的单词全部变为小写for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~': txt = txt.replace(ch, " ") #将文本中特殊字符替换为空格return txthamletTxt = getText()
words = hamletTxt.split() #按照空格,将文本分割
counts = {}
for word in words: #统计单词出现的次数,并存储到counts字典中 counts[word] = counts.get(word,0) + 1 #先给字典赋值,如果字典中没有word这个键,则返回0;见下面函数讲解
items = list(counts.items()) #将字典转换为列表,以便操作
items.sort(key=lambda x:x[1], reverse=True) # 见下面函数讲解
for i in range(10):word, count = items[i]print ("{0:<10}{1:>5}".format(word, count))
所用函数讲解:
①dict.get(key, default=None):函数返回指定键的值,如果值不在字典中返回默认值
②list.sort(cmp=None, key=None, reverse=False):
- cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)
中文文本
三国演义文本:https://python123.io/resources/pye/threekingdoms.txt
#CalThreeKingdomsV2.py
import jieba
excludes = {"将军","却说","荆州","二人","不可","不能","如此"}
txt = open("threekingdoms.txt", "r", encoding='utf-8').read()
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(10):word, count = items[i]print ("{0:<10}{1:>5}".format(word, count))
函数讲解:
jieba.lcut(s):精确分词模式,返回一个列表类型的分词结果。没有冗余。
Python实例--文本词频统计相关推荐
- python进行词频统计_如何利用Python进行文本词频统计
欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 问题描述 Python在自然语言处理这个方面,有其天然的优势: ...
- python统计词频 创建字典_如何利用Python进行文本词频统计
问题描述 Python在自然语言处理这个方面,有其天然的优势:简单,快捷.所以我们经常会遇到利用Python从一篇文档中,统计文本词频的问题.以<三国演义>这部名著为例,文中哪些人物的出场 ...
- Python实现 文本词频统计(嵩天老师)
实例10:文本词频统计 引用文本 英文文本:Hamet https://python123.io/resources/pye/hamlet.txt 中文文本:<三国演义> https:// ...
- python英文文本词频统计代码_Python小程序:文本词频统计(英文+中文)
在学习了组合数据类型和文件操作之后就可以做出下面的文本词频统计的小程序了: 1. 下面是英文文本的词频统计,统计了作者的一篇英文论文 #文本词频统计:英文文本 def gettext(): #从文件中 ...
- python英文文本词频统计_Python英文文章词频统计(14份剑桥真题词频统计)
Python剑桥真题词频统计 最好还是要学以致用,自主搜集了19年最近的14份剑桥真题之后,通过Python提供的jieba第三方库,对所有的文章信息进行了词频统计,并选择性地剔除了部分简易词汇,比如 ...
- python英文文本词频统计_python编程:英文小说词频统计
一.编程目的: 1.英文小说(The Myths )分词,并进行词频统计 2.绘制词频统计直方图 3.为小说情感分析做准备 二.编程环境: 1.pyhon3+pycharm 2.需安装模块:strin ...
- python英文文本词频统计_python实现简单的英文词频统计
1 __author__ = 'Oscar_Yang' 2 #-*- coding= utf-8 -*- 3 #copyRight by OSCAR 4 """ 5 本脚 ...
- Python—— 组合数据类型(模块5: jieba库的使用)(实例:基本统计值计算文本词频统计)
前言 本篇主要介绍组合数据类型,以基本统计值计算为例,介绍函数使用和各种类型定义.以文本词频统计为例,介绍Jieba库的使用. (从本篇开始,出现的一些库中函数介绍以及部分简单代码都将以图片形式呈现) ...
- Python实例10:文本词频统计
Python实例10:文本词频统计 6.6.1 问题分析 在英文中文中,出现哪些词,出现多少次? 6.6.2 hamlet英文词频统计 CalHamletV1.py 6.6.3 三国演义人物出场统计 ...
最新文章
- Thread和Object类中关于线程的相关方法
- MAPREDUCE实践篇(2)
- 使用命令启动IIS管理器
- vb6 打印选项对话框_办公必备技能,Word打印问题及解决方案全在这,轻松解决打印难题...
- An example of EXPORT / IMPORT usage - in office integration and odata metadata model cache
- CMOS图像传感器——噪声模型
- IM实现联系人及联系人分组的数据库设计
- 地雷会炸到自己吗_回顾自己曾经的往事 ——记双语学习有感
- linux怎么看文件状态,linux查看文件类型-file、状态-stat
- python返回负数_在Python中三角函数sin返回负数
- 随机字符串,随机密码生成器
- requests之json系列(一)
- 网站关键词编写方法,注意事项。
- 功能实施方案,不能由程序员做主,一定要经过高手确认
- MES系统的工艺管理与绩效管理
- 以太坊Whisper协议
- 虚拟服务器的密码忘记了,虚拟平台管理术:忘记 ESXi 主机的 root 密码该怎么办?...
- [unity小游戏]小球运动初步制作1.0版
- 学了 C 语言到底能做什么, 能从事什么工作?(附课程)
- 如何看hbo_哪些设备支持HBO Max? Roku和Amazon Fire TV不要