对水浒传.txt文件进行分词并统计词频(统计时适当考虑相同的人物的不同叫法),根据统计的词频制作词云图(使用wordcloud, matplotlib第三方库库)。

时间: 2023-07-15 21:13:22 浏览: 78
好的,这里我会使用jieba第三方库进行分词和词频统计,并使用wordcloud和matplotlib库制作词云图。请确认您已经安装了这些库。 首先,我们需要读取`水浒传.txt`文件并将其分词。 ```python import jieba # 读取文件 with open('水浒传.txt', 'r', encoding='utf-8') as f: text = f.read() # 分词 words = jieba.lcut(text) ``` 接下来,我们需要对分词结果进行词频统计。为了统计时适当考虑相同的人物的不同叫法,我们可以使用一个字典来存储每个人物的出现次数。 ```python # 人物名称列表 names = ['宋江', '卢俊义', '吴用', '公孙胜', '关胜', '林冲', '秦明', '呼延灼', '花荣', '柴进', '李应', '朱仝', '鲁智深', '武松', '董平', '张清', '杨志', '徐宁', '索超', '戴宗', '刘唐', '李逵', '史进', '穆弘', '雷横', '李俊', '阮小二', '张横', '阮小五', '张顺', '阮小七', '杨雄', '石秀', '解珍', '解宝', '燕青', '朱武', '黄信', '孙立', '宣赞', '郝思文', '韩滔', '彭玘', '单廷珪', '魏定国', '萧让', '裴宣', '欧鹏', '邓飞', '燕顺', '杨林', '凌振', '蒋敬', '吕方', '郭盛', '安道全', '皇甫端', '王英', '扈三娘', '鲍旭', '樊瑞', '孔明', '孔亮', '项充', '李衮', '金大坚', '马麟', '童威', '童猛', '孟康', '侯健', '陈达', '杨春', '郑天寿', '陶宗旺', '宋清', '乐和', '龚旺', '丁得孙', '穆春', '曹正', '宋万', '杜迁', '薛永', '施恩', '李忠', '周通', '汤隆', '杜兴', '邹渊', '邹润', '朱贵', '朱富', '施琅', '李立', '杨瑞', '赵云', '段景住'] # 词频统计 word_count = {} for word in words: if word in names: if word in word_count: word_count[word] += 1 else: word_count[word] = 1 ``` 最后,我们可以使用wordcloud和matplotlib库制作词云图。 ```python from wordcloud import WordCloud import matplotlib.pyplot as plt # 生成词云图 wc = WordCloud(background_color='white', font_path='msyh.ttc', width=800, height=600) wc.generate_from_frequencies(word_count) # 显示词云图 plt.imshow(wc, interpolation='bilinear') plt.axis('off') plt.show() ``` 完整代码如下: ```python import jieba from wordcloud import WordCloud import matplotlib.pyplot as plt # 读取文件 with open('水浒传.txt', 'r', encoding='utf-8') as f: text = f.read() # 分词 words = jieba.lcut(text) # 人物名称列表 names = ['宋江', '卢俊义', '吴用', '公孙胜', '关胜', '林冲', '秦明', '呼延灼', '花荣', '柴进', '李应', '朱仝', '鲁智深', '武松', '董平', '张清', '杨志', '徐宁', '索超', '戴宗', '刘唐', '李逵', '史进', '穆弘', '雷横', '李俊', '阮小二', '张横', '阮小五', '张顺', '阮小七', '杨雄', '石秀', '解珍', '解宝', '燕青', '朱武', '黄信', '孙立', '宣赞', '郝思文', '韩滔', '彭玘', '单廷珪', '魏定国', '萧让', '裴宣', '欧鹏', '邓飞', '燕顺', '杨林', '凌振', '蒋敬', '吕方', '郭盛', '安道全', '皇甫端', '王英', '扈三娘', '鲍旭', '樊瑞', '孔明', '孔亮', '项充', '李衮', '金大坚', '马麟', '童威', '童猛', '孟康', '侯健', '陈达', '杨春', '郑天寿', '陶宗旺', '宋清', '乐和', '龚旺', '丁得孙', '穆春', '曹正', '宋万', '杜迁', '薛永', '施恩', '李忠', '周通', '汤隆', '杜兴', '邹渊', '邹润', '朱贵', '朱富', '施琅', '李立', '杨瑞', '赵云', '段景住'] # 词频统计 word_count = {} for word in words: if word in names: if word in word_count: word_count[word] += 1 else: word_count[word] = 1 # 生成词云图 wc = WordCloud(background_color='white', font_path='msyh.ttc', width=800, height=600) wc.generate_from_frequencies(word_count) # 显示词云图 plt.imshow(wc, interpolation='bilinear') plt.axis('off') plt.show() ``` 运行代码后,就可以得到词云图了。

相关推荐

最新推荐

recommend-type

Python 合并多个TXT文件并统计词频的实现

主要介绍了Python 合并多个TXT文件并统计词频的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

基于hadoop的词频统计.docx

基于hadoop的词频统计,通过空格作为词频切分,简单统计了哈姆雷特节选的词频数量。
recommend-type

C语言实现英文文本词频统计

主要为大家详细介绍了C语言实现英文文本词频统计,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

python 文本单词提取和词频统计的实例

今天小编就为大家分享一篇python 文本单词提取和词频统计的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

大数据技术实践——Spark词频统计

本次作业要完成在Hadoop平台搭建完成的基础上,利用Spark组件完成文本词频统计的任务,目标是学习Scala语言,理解Spark编程思想,基于Spark 思想,使用IDEA编写SparkWordCount程序,并能够在spark-shell中执行代码和...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

spring添加xml配置文件

1. 创建一个新的Spring配置文件,例如"applicationContext.xml"。 2. 在文件头部添加XML命名空间和schema定义,如下所示: ``` <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。