今天继续给大家介绍Python相关知识,本文主要内容是Python英文词频统计程序示例,主要是对英文文本——《哈姆雷特》进行分词。

一、英文文本词频统计思路

想要对《哈姆雷特》进行英文单词词频统计,那么我们首先需要拿到《哈姆雷特》的原文,将之存储为本地的txt文档,然后使用Python打开该文件,读取里面的信息。
在读取《哈姆雷特》内容后,我们首先需要将文件内容进行预处理,比如删除文件中的特殊符号,以及对文件内容进行全部小写的归一化操作等等。除此之外,我们还需要删除文档中所有的标点符号。之后,我们可以将文档使用split()函数,根据空格进行分隔,形成一个列表。
之后,我们逐个取出列表中的元素,然后统计列表中单词的个数。为了进行词频统计,我们需要创建一个字典变量,以单词为键,以统计出的单词个数为值,在遍历列表时不断更新该字典,就可以最终得到一个含有所有《哈姆雷特》内容单词词频的字典了。
最后,我们按照该字典转化为一个新的列表,就可以对值的大小对该字典进行排序,得到《哈姆雷特》词频从大到小的顺序了。

二、英文文本词频统计程序编写

根据上述思路,我们可以来编写英文文本词频统计程序了。
打开文件及读取文件内容程序代码如下所示:

f=open("C:\\Users\\Administrator\\Desktop\\哈姆雷特原文.txt","rt",encoding="utf-8")
Hamlet=f.read()
f.close()

对文件内容进行预处理代码如下所示:

Hamlet=Hamlet.lower()
for char in "!@#$%^&*()_+~`,./;'[]\<>?:\"{}|":Hamlet=Hamlet.replace(char,"")

对文件单词进行统计代码如下所示:

counts=dict()
for word in words:counts[word]=counts.get(word,0)+1

对字典生成新的列表,并进行排序,代码如下所示:

sequence=list(counts.items())
sequence.sort(key=lambda x:x[1],reverse=True)

筛选出单词出现频率最高的10个单词,并进行输出,代码如下所示:

for i in range(10):word,count=sequence[i]print("单词{}在Hamlet中出现次数为第{},出现了{}次".format(word,i+1,count))

最终代码如下所示:

f=open("C:\\Users\\Administrator\\Desktop\\哈姆雷特原文.txt","rt",encoding="utf-8")
Hamlet=f.read()
f.close()
Hamlet=Hamlet.lower()
for char in "!@#$%^&*()_+~`,./;'[]\<>?:\"{}|":Hamlet=Hamlet.replace(char,"")
words=Hamlet.split()
counts=dict()
for word in words:counts[word]=counts.get(word,0)+1
sequence=list(counts.items())
sequence.sort(key=lambda x:x[1],reverse=True)
for i in range(10):word,count=sequence[i]print("单词{}在Hamlet中出现次数为第{},出现了{}次".format(word,i+1,count))

三、程序执行结果展示

运行上述程序,我们最终得到结果如下所示:

从上图可以看出,我们成功统计出了在《哈姆雷特》中出现次数最多的10个单词。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

Python英文词频统计(哈姆雷特)程序示例相关推荐

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

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

  2. python英文词频统计代码_python实现中文和英文的词频统计功能方法汇总

    python的思维就是让我们用尽可能少的代码来解决问题.对于词频的统计,就代码层面而言,实现的方式也是有很多种的.之所以单独谈到统计词频这个问题,是因为它在统计和数据挖掘方面经常会用到,尤其是处理分类 ...

  3. python英文词频统计去除定冠词_使用Python进行英文词频统计

    对一篇英文文章进行词频统计重点在于内容去噪和归一化,可用split()进行分词.本文以<飘>为例,统计词频最高的前十位. 1.读取文件,通过lower().replace()函数将所有单词 ...

  4. python英文词频统计-Python实现统计英文文章词频的方法分析

    本文实例讲述了Python实现统计英文文章词频的方法.分享给大家供大家参考,具体如下: 应用介绍: 统计英文文章词频是很常见的需求,本文利用python实现. 思路分析: 1.把英文文章的每个单词放到 ...

  5. python英文词频统计并按顺序输出_Python实现统计英文文章词频的方法分析

    本文实例讲述了python实现统计英文文章词频的方法.分享给大家供大家参考,具体如下: 应用介绍: 统计英文文章词频是很常见的需求,本文利用python实现. 思路分析: 1.把英文文章的每个单词放到 ...

  6. Hadoop的改进实验(中文分词词频统计及英文词频统计)(4/4)

    声明: 1)本文由我bitpeach原创撰写,转载时请注明出处,侵权必究. 2)本小实验工作环境为Windows系统下的百度云(联网),和Ubuntu系统的hadoop1-2-1(自己提前配好).如不 ...

  7. Python 《Hamlet》哈姆雷特英文词频统计

    英文词频统计 关键问题: 1.词语 -- 键 2.相同词语的累加 -- 值 讨论:定义什么数据类型 -- 字典类型 问题描述: I:文件的输入 P:采用字典类型的结构统计词语出现的频率 O:每个单词及 ...

  8. Hadoop的改进实验(中文分词词频统计及英文词频统计)(1/4)

    声明: 1)本文由我bitpeach原创撰写,转载时请注明出处,侵权必究. 2)本小实验工作环境为Windows系统下的百度云(联网),和Ubuntu系统的hadoop1-2-1(自己提前配好).如不 ...

  9. 组合数据类型练习,英文词频统计实例上(2017.9.22)

    字典实例:建立学生学号成绩字典,做增删改查遍历操作. sno=['33号','34号','35号','36号'] grade=[100,90,80,120] d={'33号':100,'34号':90 ...

最新文章

  1. 「深入浅出」了解语音识别的技术原理和应用价值?
  2. 第 127 章 Piranha - Cluster administation tools
  3. 构建长期共赢生态圈,英特尔至强平台加速人工智能落地
  4. 窗体的扩展样式GWL_EXSTYLE: 用于SetWindowLong
  5. 052_CSS3 appearance属性
  6. SD--RV_accounting_document_create函数的代码解读
  7. Auto_ml与TPOT的区别
  8. 图标出问题_同是Office365,为什么你的软件图标还是旧版的?
  9. jz2440-uboot-201204版本移植【学习笔记】【原创】
  10. 大数问题(高精度运算)
  11. 通过Source insight查看内核源码
  12. VM异常关闭后导致虚拟机无法打开问题解决办法【已解决】
  13. 还是觉得应该动手写点东西....
  14. Windows Live Writer
  15. 如何在word中输入带方框的对钩
  16. cwRsync文件同步
  17. 修改手机屏幕刷新率_手机屏幕刷新率真的越高越好吗?
  18. python多线程爬取m3u8视频(包含AES解密)
  19. 【一文速通】机器学习样本不均衡/数据分布不同怎么办?
  20. [HCTF 2018] WarmUp

热门文章

  1. Spring Security OAuth2.0认证授权知识概括
  2. 海上风电场对雷达性能的影响——雷达回波
  3. 避免创业的大忌,我为何给 TDengine 只选择了集群、高性能与 SQL 支持三大特点?...
  4. 语音数据标注工具与平台/公司
  5. MySQL数据库与登录注册
  6. 无人机巡检智能一体化解决方案
  7. Cesium开发高级篇 | 05场景后期处理
  8. vue文件流导出excel表格打不开
  9. 安装mujoco遇到一些坑
  10. IOS 5支持的字体