Python英文词频统计(哈姆雷特)程序示例代码

 更新时间:2023年06月15日 09:05:57   作者:永远是少年啊  
在文本处理方面,Python也有着得天独厚的优势,不仅提供了多种字符串操作函数,而且还可以使用各种开源库来处理文本,下面这篇文章主要给大家介绍了关于Python英文词频统计(哈姆雷特)程序示例的相关资料,需要的朋友可以参考下

今天继续给大家介绍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个单词。

总结

到此这篇关于Python英文词频统计(哈姆雷特)程序的文章就介绍到这了,更多相关Python英文词频统计内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python Tkinter对话框控件使用详解

    Python Tkinter对话框控件使用详解

    Tkinter中提供了三种对话框控件:文件选择对话框、颜色选择对话框和消息对话框。本文将具体为大家介绍一下这三种对话框的使用,需要的可以参考一下
    2022-01-01
  • Python全栈之线程详解

    Python全栈之线程详解

    这篇文章主要为大家介绍了Python全栈之线程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • Python OpenCV中的resize()函数的使用

    Python OpenCV中的resize()函数的使用

    这篇文章主要介绍了Python OpenCV中的resize()函数的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Django的URLconf中使用缺省视图参数的方法

    Django的URLconf中使用缺省视图参数的方法

    这篇文章主要介绍了Django的URLconf中使用缺省视图参数的方法,Django是最著名的Python的web开发框架,需要的朋友可以参考下
    2015-07-07
  • Python 图像处理之PIL库详解用法

    Python 图像处理之PIL库详解用法

    对于图像识别,大量的工作在于图像的处理,处理效果好,那么才能很好地识别,因此,良好的图像处理是识别的基础。在Python中,有一个优秀的图像处理框架,就是PIL库,本文会介绍PIL库中的各种方法,并列举相关例子
    2021-11-11
  • 使用Python内置的模块与函数进行不同进制的数的转换

    使用Python内置的模块与函数进行不同进制的数的转换

    这篇文章主要介绍了使用Python内置的模块与函数进行不同进制的数的转换的方法,Python也使得读取纯二进制文件内容非常方便,需要的朋友可以参考下
    2016-03-03
  • python tkinter基本属性详解

    python tkinter基本属性详解

    这篇文章主要介绍了python tkinter基本属性详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Windows下python3.6.4安装教程

    Windows下python3.6.4安装教程

    这篇文章主要为大家详细介绍了Windows下python3.6.4安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • 使用Python实现一个图片查看器

    使用Python实现一个图片查看器

    这篇文章主要为大家详细介绍了如何使用Python实现一个简单的图片查看器,并且可以实现图片放大与缩小功能,感兴趣的小伙伴可以了解下
    2025-02-02
  • 详解在Python中创建条形图追赶动画

    详解在Python中创建条形图追赶动画

    动画是使可视化更具吸引力和用户吸引力的好方法。它帮助我们以有意义的方式展示数据可视化。Matplotlib是一个非常流行的数据可视化库,通常用于数据的图形表示以及使用内置函数的动画。本文将用Matplotlib绘制条形图追赶动画,需要的可以参考一下
    2022-03-03

最新评论