python水浒传名字次数_水浒传top20人物出现名字次数
下面代码是使用python的分词和词云绘制的水浒top20人物出现的次数
from wordcloud import WordCloud
import jieba
import imageio
mask = imageio.imread('./su/1.png') #要绘制词云的形状
# 读取小说内容
with open('./su/水浒.txt', 'r', encoding='utf-8') as f:
words = f.read()
# counts用于存放出现的名字与次数
counts = {} # {‘曹操’:234,‘回寨’:56}
# 将不是人名(或者代表某个确定人,例孔明曰)的词放入excluds中
excludes = {"两个", "一个", "只见", "如何", "那里", "哥哥", "不能", "如此", "说道",
"军马", "次日", "军士", "头领", "左右", "一齐", "引兵", "里面", "梁山泊",
"只得", "于是", "今日", "不敢", "知府", "都督", "人马", "不知", "先锋",
"前面", "将来", "弟兄", "众人", "这里", "小人", "出来", "妇人", "好汉",
"便是", "问道", "起来", "却是", "我们", "因此", "甚么", "这个", "正是",
"三个", "且慢", "兄弟", "不是", "只是", "不曾", "且说", "不得", "一面",
"看时", "如今", "来到", "当下", "原来", "将军", "山寨", "喝道", "兄长",
"大喜", "天子", "商议", "那个", "商议", "公人", "性命", "城中", "喽罗",
"那厮", "小弟", "商议", "东京", "下山", "不见", "怎地", "上山", "随即",
"不要", "一条", "和尚", "背后", "洒家", "许多", "太尉", "答道", "收拾",
"却说", "一声"
}
# 分词
words_list = jieba.lcut(words)
# print(words_list)
# 将分词后的词语和创新次数保存在counts中
for word in words_list:
# 如果长度小于1代表不是人名,就跳出本次循环
if len(word) <= 1:
continue
else:
# 更新字典中的值
# counts[word] = 取出字典中原来键对应的值 + 1
# counts[word] = counts[word] + 1 # counts[word]如果没有就要报错
# 字典c.get(k) 如果字典中没有这个键 返回 NONE
counts[word] = counts.get(word, 0) + 1
# 将不是人名的词语删除
for word in excludes:
del counts[word]
# 排序
items = list(counts.items())
def sort_by_count(x):
return x[1]
items.sort(key=sort_by_count, reverse=True)
print(items)
# 将top20取出来
li = []
for i in range(20):
# 序列解包
role, count = items[i] #role代表人名,count是次数
print(role, count)
for _ in range(count): # _是告诉看代码的人循环里不需要使用临时变量
li.append(role)
# 将前十的人名以图片的形式保存到top.png中
text = ' '.join(li) # 将列表转换为字符串
WordCloud(
font_path='msyh.ttc', # 如果不加这句代码中文显示不出来
background_color='white',
width=800,
height=600,
mask=mask,
# 相邻两个值的重复
collocations=False
).generate(text).to_file('水浒Top20.png')
效果图
水浒Top20.png
python水浒传名字次数_水浒传top20人物出现名字次数相关推荐
- 小组取什么名字好_寓意好的公司名字大全 公司名字取什么好
有的人不会取名字,有的人很会取名字,而要创业取名字的时候,要取一个寓意好的公司名字,对于不会取名字的人来说是特别困难的.那么,寓意好的公司名字取什么好呢?一起来看看. 洪锋 用作公司名意指锐不可当,威 ...
- python水浒传名字次数_水浒传人物登场次数数据分析
这个数据分析使用的是python语言,我安装了anaconda,是在jupyter notebook中做的. 首先需要引入可能用到的库: 小案例一是一个基本的文本词频统计 文本词频统计的结果如下(出现 ...
- 使用python统计《红楼梦》中人物出现的次数
1.安装jieba第三方库 jieba库是优秀的中文分词库,它能够将句子分成词语. 安装方法: 在cmd命令行中输入:pip install jieba 电脑在联网的情况下会自动下载安装jieba库 ...
- python记录输入次数_如何计算用户输入错误的次数
我在做一个游戏,想把所有的问题都讲一遍.如果用户的回答是错误的,我想知道这发生了多少次.在 我对这个代码有点问题.当我运行所有程序时,第一个和第二个函数运行正常.但当我想打印x\u错误时,它会说&qu ...
- java 错误登陆次数_纯java代码实现登陆次数验证,登陆错误5次之后锁定30分钟
本方法因为是根据思路纯手写,代码可以再简化,功能尝试没问题,最主要就是在登陆验证中的逻辑,checkLogin()方法是登录前的验证,而真正的登陆方式采用的是Shiro,若不是采用Shiro登陆,将该 ...
- java正则出现次数_正则表达式(二)—匹配次数的正则
正则表达式 匹配次数的正则 在前一篇文章中,我们总结了和位置相关的正则,在这篇文章中,我们将继续学习正则表达式其它的内容. 假如现在给你一个regular_1.txt文件,让你找出含有连续2个a的行, ...
- 小组取什么名字好_寓意兴旺的公司名字取什么名字好
在开一个公司,首先要取一个好名字,不过有些人不会取,有些人很会取,要取一个寓意兴旺的公司名字,对于不会取名字的人来说是很困难的.那么,寓意兴旺的公司名字取什么名字好呢?一起来看看. 吉语迎合方法 所谓 ...
- 景观设计主题命名_景观设计名字主题_园林景观好听的名字
. . 三字:蔷薇谷 郎月溪 紫香提 银杏道 滟澜渡 风景名胜(按国家和地区): (地中海)波尔多往事 托斯卡纳时光 克里特传说 莱蒙湖 印象 普罗旺斯之香 园林景观取名命名总汇参考: 1 .亭:松涛 ...
- Python词频统计——《红楼梦》人物出场次数统计
代码实现 import jieba as j names = ['贾母', '贾珍', '贾蓉', '贾赦', '贾政', '袭人', '王熙凤', '紫鹃', '翠缕', '香菱','豆官', '薛 ...
最新文章
- 正则表达式re模块使用介绍
- 蓝桥杯:安慰奶牛(最小生成树)
- bool在哪个头文件_Java里的 for (;;) 与 while (true),哪个更快?
- go 切片slice删除元素的方法
- 快速了解 ASP.NET Core Blazor
- Qt文档阅读笔记-关于Qt Core的进一步认识
- Qt工作笔记-在界面上输出变量、类、this指针的地址
- 剖析Caffe源码之Net---NetParameter参数
- 从Oracle到PostgreSQL:Storage Index 特性 vs BRIN 索引
- mysql 存储xml类型_(MariaDB)MySQL数据类型详解和存储机制
- 使用svm 对参数寻优的时候出现错误
- export `=' not a valid identifier的一般原因
- C Primer Plus第三章总结
- thinkphp5 没有getField
- 常用的渗透测试辅助工具
- 联想如何在桌面显示计算机和网络图标,联想电脑桌面图标字体变小怎么办
- 微软关闭Win7所有服务器,微软公布Win7彻底退役时间 将于2020年终止所有支持
- 小鹏汽车领投 这家车规级MEMS激光雷达公司完成数亿元Pre-C轮融资
- 手把手做一个JSP入门程序(一):程序基本介绍(JSP)
- C. 小票输入输出(结构体)