使用Python读取一个文本文件并计算其中每个单词出现的次数

news2024/11/25 18:37:35
import re
import matplotlib.pyplot as plt
from collections import Counter
word_counts = {}
with open('E:\自然语言处理\Hamlet(2).txt') as f:
    for line in f:
        words = line.strip().lower().split()
        for word in words:
            word = re.sub(r'[^a-zA-Z]+','',word)
            if word in word_counts:
                word_counts[word] += 1
            else:
                word_counts[word] = 1
top_words = Counter(word_counts).most_common(10)
top_words_list = [word[0] for word in top_words]
top_words_counts = [word[1] for word in top_words]
plt.bar(top_words_list, top_words_counts)
plt.xlabel('单词')
plt.ylabel('出现次数')
plt.title('前10个出现次数最多的单词')
plt.xticks(rotation=45)
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定使用中文字体
for i, count in enumerate(top_words_counts):
    plt.text(i, count, str(count), ha='center', va='bottom')
plt.show()
print(word_counts)

我们假设我们获取了一个哈姆雷特文本,要进行每个单词的统计

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1531228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【链表】Leetcode 2. 两数相加【中等】

两数相加 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的, 并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不…

网速监控,实时网络速度监控

带宽与网速 现在,对高带宽的需求空前高涨,而且网络(包括标准的内部部署)以及公共、私有和混合环境都变得更加复杂。 虽然带宽和网速经常互换使用,但它们并不总是相同的。网速更多的是与延迟有关,而不是与…

文件上传基础篇

文件上传基础篇 文件上传漏洞原理 ​ 目标网站存在文件上传接口,但是对用户上传的文件没有做仔细甄别,导致黑客可以根据此功能点直接上传木马到网站服务器,造成危害 文件上传存在点 ​ 通常有头像上传,pdf上传 文件上传防护 …

Vue 计算属性和监视属性

Vue 计算属性和监视属性 computed computed 计算属性 规则: 用已有的属性计算不存在的属性默认调用一次get()只有值不发生改变的时候才可以使用简写(函数);值发生改变 使用对象式写法,才可以配置set()方法底层原理使…

har的编译及引用

1.创建HAR 选择文件->新建->模块,然后再下一个页面选择static library,之后在接下来的页面设置模块名字,然后下一步直到完成。 2.创建成功后在新建的模块下编写自己的代码内容。 3.编译HAR 编译默认是从Index.ets文件下进行导出,如果…

Flink:使用 Faker 和 DataGen 生成测试数据

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,…

用图解说明mysql 行锁加锁规则

加锁原则 原则 1:加锁的基本单位是 next-key lock。希望你还记得,next-key lock 是前开后闭区间。原则 2:查找过程中访问到的对象才会加锁。优化 1:索引上的等值查询,给唯一索引加锁的时候,next-key lock …

Linux---基本操作命令之用户管理命令

1.1useradd 添加新用户 root用户:/root 普通用户:/home/ 创建的用户还是david,只是在dave文件夹下 1.2 passwd 设置密码 给用户tony设置密码: 123456 1.3 id 查看用户是否存在 查看有没有这个用户:id 名字 gid:用…

当人工智能无处不在

以下文章来源:新华社 2024年度的“西南偏南”多元创新大会和艺术节8日至16日在得克萨斯州首府奥斯汀举行。在今年的数百场讲座或沙龙讨论中,热度最高、讨论最多的前沿话题不难猜——人工智能(AI)。 焦点高度发散。从太空探索到音乐…

【windows】Python文件打包成dll文件及遇见的问题

最近需要将py文件转为dll,特此记录。 操作步骤来自于:将Python文件发布成DLL并调用 写一个py文件 文件名:test_numpy.py import numpy as npdef func(my_list1, my_list2):list_np1 np.array(my_list1)list_np2 np.array(my_list2)retur…

Visual Studio 2013 - 输出窗口一闪而过问题解决

Visual Studio 2013 - 输出窗口一闪而过问题解决 1. Visual Studio Console 一闪而过问题解决1.1. set Debug1.2. set Release References 1. Visual Studio Console 一闪而过问题解决 工程 -> 属性 -> 配置属性 -> 链接器 -> 系统 -> 子系统 -> 下拉框 -&g…

机器视觉系统选型-镜头参数

镜头参数: 光圈:光圈是一个用来控制镜头通光量的装置 ,表示光圈大小我们是用光圈值(F值) ,如F1.4,F2,F2.8 焦距(Focus):透镜中心到其焦点的距离 景…

crossover虚拟机 crossover软件干嘛的 虚拟机软件的使用方法 mac虚拟机装windows

与传统的虚拟机软件(如VMware、VirtualBox)相比,CrossOver具有更高的运行效率和更好的用户体验。因为它并不创建一个完整的Windows虚拟机,而是仅模拟应用程序所需的运行环境。这使得CrossOver在启动和运行Windows应用程序时更加快…

平衡计分卡:企业/产品绩效管理的金钥匙

一、摘要 在企业管理领域,有一个广为流传的箴言:“衡量什么,得到什么。”这句话道出了衡量与结果之间的紧密关系。企业若想要取得理想的绩效,就必须建立科学、合理的衡量体系。而平衡计分卡,正是这样一套能够全面、系…

#Ubuntu(修改root信息)

(一)发行版:Ubuntu16.04.7 (二)记录: (1)命令行终端: a.右键,open terminal b.快捷键 ctrlaltt (2)进行root修改 sudo passwd &a…

【09】进阶JavaScript事件循环Promise

一、事件循环 浏览器的进程模型 何为进程? 程序运行需要有它自己专属的内存空间,可以把这块内存空间简单的理解为进程 每个应用至少有一个进程,进程之间相互独立,即使要通信,也需要双方同意。 何为线程? 有了进程后,就可以运行程序的代码了。 运行代码的「人」称之…

【web世界探险家】HTML5 探索与实践

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ &…

【MySQL | 第五篇】MySQL事务总结

文章目录 5.MySQL事务5.1什么是事务?5.2什么是数据库事务?5.3数据库事务四大特性5.4并发事务带来的问题及解决方案?5.4.1脏读/不可重复读/幻读5.4.2不可重复读和幻读有什么区别?5.4.3解决并发事务带来的问题(1&#xf…

windows服务器iis更换彻底删除 原443 ssl证书以及一个服务器运行多个独立域名网站并绑定多个证书的方法

服务器上的433 ssl证书,可以让网站以https加密方式访问,但是这个证书会占用443端口,iis7版本,只能安装一个443证书,所以.原来的过期了.需要删除.删除方式,不是进运行 winr的mmc 而是进iis的默认的总的主页面板(不是点击具体的网站或者程序池),点击服务器证书.进去才能删除.否则…

5G网络架构及技术(一):入门级介绍

参考资料: [1] 5G网络架构,March 15, 2020 / By Adnan Ghayas [2] 5G应用场景,June 2, 2021 / By Adnan Ghayas [3] 独立和非独立5G网络,September 19, 2020 / By Adnan Ghayas 5G网络架构(一):…