运行上述程序,我们最终得到结果如下所示:
从上图可以看出,我们成功统计出了在《哈姆雷特》中出现次数最多的10个单词。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
今天继续给大家介绍Python相关知识,本文主要内容是Python英文词频统计程序示例,主要是对英文文本——《哈姆雷特》进行分词。一、英文文本词频统计思路二、英文文本词频统计程序编写三、程序执行结果展示
实例10:文本词频统计 -- Hamlet
这是"实例"题,与课上讲解实例相同,请作答检验学习效果。
文本词频统计::一篇文章,出现了哪些词?哪些词出现的最多?
程序分析
1.我们准备一个hamlet.txt文件放入到我们的项目中,内容在下方链接: https://python123.io/resources/pye/hamlet.txt
2.在自定义函数中以只读方式打开,并使用字符替换函数replace()将特殊字符替换成空格。
3.将数据已空格为标志进行切割成列表形式,遍历列表将单词计数存入字典中。这里我们要使用字典中的get()函数,计数时分两种情况:(1)如果当前单词不在字典中则g...
txt=open("hamlet.txt",'r').read()
txt=txt.lower()
for ch in "!'#$%&()*+,-./:'<=>?@[\\]^-‘{|}~": #将特殊符号替换为空格
txt=txt...
文本词频统计::一篇文章,出现了哪些词?哪些词出现的最多?
请统计hamlet.txt文件中出现的英文单词情况,统计并输出出现最多的10个单词,注意:
好的,Python 词频统计是一种统计文本中词汇出现次数的方法,可以帮助我们更好地了解文本的特征和内容。下面我为你演示一下如何用 Python 对《哈姆雷特》进行词频统计。
首先,我们需要一个文本文件,这里我将使用《哈姆雷特》的英文版文本文件。你可以在网上搜索到该文件并下载到本地。
然后,我们可以使用 Python 自带的文本处理模块 `re` 和 `collections` 来进行词频统计。具体代码如下:
```python
import re
from collections import Counter
# 读取文本文件
with open('hamlet.txt', 'r') as f:
text = f.read().lower()
# 使用正则表达式分割单词
words = re.findall('\w+', text)
# 统计词频
word_count = Counter(words)
# 输出前 10 个出现次数最多的单词
for word, count in word_count.most_common(10):
print(word, count)
代码中,我们首先使用 `open` 函数读取文本文件,并将文本内容转换为小写字母,以便统计时不区分大小写。然后使用正则表达式 `\w+` 分割单词,`\w` 表示任意一个单词字符(字母、数字、下划线),`+` 表示匹配多个连续的单词字符。接着使用 `Counter` 统计单词出现次数,并使用 `most_common` 方法输出前 10 个出现次数最多的单词和对应的出现次数。
你可以将代码保存为一个 `.py` 文件并在命令行中运行,或者直接在 Python 解释器中逐行执行,得到类似下面的统计结果:
the 1159
and 711
to 706
of 670
i 574
a 548
you 457
my 452
in 417
hamlet 358
这样,我们就完成了对《哈姆雷特》的词频统计。