下面代码是使用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人物出现名字次数相关推荐

  1. 小组取什么名字好_寓意好的公司名字大全 公司名字取什么好

    有的人不会取名字,有的人很会取名字,而要创业取名字的时候,要取一个寓意好的公司名字,对于不会取名字的人来说是特别困难的.那么,寓意好的公司名字取什么好呢?一起来看看. 洪锋 用作公司名意指锐不可当,威 ...

  2. python水浒传名字次数_水浒传人物登场次数数据分析

    这个数据分析使用的是python语言,我安装了anaconda,是在jupyter notebook中做的. 首先需要引入可能用到的库: 小案例一是一个基本的文本词频统计 文本词频统计的结果如下(出现 ...

  3. 使用python统计《红楼梦》中人物出现的次数

    1.安装jieba第三方库 jieba库是优秀的中文分词库,它能够将句子分成词语. 安装方法: 在cmd命令行中输入:pip install jieba 电脑在联网的情况下会自动下载安装jieba库 ...

  4. python记录输入次数_如何计算用户输入错误的次数

    我在做一个游戏,想把所有的问题都讲一遍.如果用户的回答是错误的,我想知道这发生了多少次.在 我对这个代码有点问题.当我运行所有程序时,第一个和第二个函数运行正常.但当我想打印x\u错误时,它会说&qu ...

  5. java 错误登陆次数_纯java代码实现登陆次数验证,登陆错误5次之后锁定30分钟

    本方法因为是根据思路纯手写,代码可以再简化,功能尝试没问题,最主要就是在登陆验证中的逻辑,checkLogin()方法是登录前的验证,而真正的登陆方式采用的是Shiro,若不是采用Shiro登陆,将该 ...

  6. java正则出现次数_正则表达式(二)—匹配次数的正则

    正则表达式 匹配次数的正则 在前一篇文章中,我们总结了和位置相关的正则,在这篇文章中,我们将继续学习正则表达式其它的内容. 假如现在给你一个regular_1.txt文件,让你找出含有连续2个a的行, ...

  7. 小组取什么名字好_寓意兴旺的公司名字取什么名字好

    在开一个公司,首先要取一个好名字,不过有些人不会取,有些人很会取,要取一个寓意兴旺的公司名字,对于不会取名字的人来说是很困难的.那么,寓意兴旺的公司名字取什么名字好呢?一起来看看. 吉语迎合方法 所谓 ...

  8. 景观设计主题命名_景观设计名字主题_园林景观好听的名字

    . . 三字:蔷薇谷 郎月溪 紫香提 银杏道 滟澜渡 风景名胜(按国家和地区): (地中海)波尔多往事 托斯卡纳时光 克里特传说 莱蒙湖 印象 普罗旺斯之香 园林景观取名命名总汇参考: 1 .亭:松涛 ...

  9. Python词频统计——《红楼梦》人物出场次数统计

    代码实现 import jieba as j names = ['贾母', '贾珍', '贾蓉', '贾赦', '贾政', '袭人', '王熙凤', '紫鹃', '翠缕', '香菱','豆官', '薛 ...

最新文章

  1. 正则表达式re模块使用介绍
  2. 蓝桥杯:安慰奶牛(最小生成树)
  3. bool在哪个头文件_Java里的 for (;;) 与 while (true),哪个更快?
  4. go 切片slice删除元素的方法
  5. 快速了解 ASP.NET Core Blazor
  6. Qt文档阅读笔记-关于Qt Core的进一步认识
  7. Qt工作笔记-在界面上输出变量、类、this指针的地址
  8. 剖析Caffe源码之Net---NetParameter参数
  9. 从Oracle到PostgreSQL:Storage Index 特性 vs BRIN 索引
  10. mysql 存储xml类型_(MariaDB)MySQL数据类型详解和存储机制
  11. 使用svm 对参数寻优的时候出现错误
  12. export `=' not a valid identifier的一般原因
  13. C Primer Plus第三章总结
  14. thinkphp5 没有getField
  15. 常用的渗透测试辅助工具
  16. 联想如何在桌面显示计算机和网络图标,联想电脑桌面图标字体变小怎么办
  17. 微软关闭Win7所有服务器,微软公布Win7彻底退役时间 将于2020年终止所有支持
  18. 小鹏汽车领投 这家车规级MEMS激光雷达公司完成数亿元Pre-C轮融资
  19. 手把手做一个JSP入门程序(一):程序基本介绍(JSP)
  20. C. 小票输入输出(结构体)

热门文章

  1. 俞敏洪 :阻碍你成长的,其实是你自己
  2. NSUserDefaults见解
  3. 使用’推土距离‘构建强悍的WGAN
  4. 深度学习(8)——权重衰退
  5. DHU Deep Learning Practice_章节测验【1】
  6. 怎么拿到属于自己的那份心仪的offer
  7. spark的几个示例
  8. 解决:springboot生成jar运行没有主清单属性
  9. Toronto Research Chemicals丨艾美捷 A因子分析
  10. 第二周 新星杯的收获和感触