相关文章推荐
俊逸的柠檬  ·  沙城-🌈️包子漫畫·  1 年前    · 
读研的酱肘子  ·  苏宁易购·  1 年前    · 

今天继续给大家介绍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相关知识,本文主要内容是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 "!'#$%&amp;()*+,-./:'&lt;=&gt;?@[\\]^-‘{|}~": #将特殊符号替换为空格 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 这样,我们就完成了对《哈姆雷特》的词频统计