python三国演义人物 统计分析_使用python统计《三国演义》小说里人物出现次数前十名,并实现可视化。...
《三国演义》.txt下载地址(提取码:kist )使用pycharm安装库打开Pycharm选择【File】下的Settings出现下面页面,选择右边的【+】出现下面页面,在此页面顶端搜索想要的库,然后安装就可以了二、编写代码import
一、安装所需要的第三方库
jieba (jieba是优秀的中文分词第三分库)
pyecharts (一个优秀的数据可视化库)
《三国演义》.txt下载地址(提取码:kist )
使用pycharm安装库
打开Pycharm选择【File】下的Settings
出现下面页面,
选择右边的【+】出现下面页面,在此页面顶端搜索想要的库,然后安装就可以了
二、编写代码
import jieba #导入库
import os
print("人物出现次数前十名:")
txt = open("三国演义.txt", "r" ,encoding="gb18030").read()
words = jieba.lcut(txt)
counts = {}
for word in words:
if len(word) == 1:
continue
elif word == "诸葛亮" or word == "孔明曰":
rword = "孔明"
elif word == "关公" or word == "云长":
rword = "关羽"
elif word == "玄德" or word == "玄德曰":
rword = "刘备"
elif word == "孟德" or word == "丞相":
rword = "曹操" # 把相同意思的名字归为一个人
else:
rword = word
counts[rword] = counts.get(rword, 0) + 1
items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)
for i in range(10):
word, count=items[i]
print("{}:{}".format(word, count)) # 打印前十名名单
结果如下图:
可以看到这里面有很多不是人物的名字,所以咱们要把这些删掉。更改代码如下
import jieba #导入库
import os
print("人物出现次数前十名:")
txt = open("三国演义.txt", "r" ,encoding="gb18030").read()
remove = {"将军", "却说", "不能", "后主", "上马", "不知", "天子", "大叫", "众将", "不可",
"主公", "蜀兵", "只见", "如何", "商议", "都督", "一人", "汉中", "人马",
"陛下", "魏兵", "天下", "今日", "左右", "东吴", "于是", "荆州", "不能", "如此",
"大喜", "引兵", "次日", "军士", "军马","二人","不敢"} # 这些文字是要排出掉的,多次运行程序所得到的
words = jieba.lcut(txt)
counts = {}
for word in words:
if len(word) == 1:
continue
elif word == "诸葛亮" or word == "孔明曰":
rword = "孔明"
elif word == "关公" or word == "云长":
rword = "关羽"
elif word == "玄德" or word == "玄德曰":
rword = "刘备"
elif word == "孟德" or word == "丞相":
rword = "曹操" # 把相同意思的名字归为一个人
else:
rword = word
counts[rword] = counts.get(rword, 0) + 1
for word in remove:
del counts[word] #匹配文字相等就删除
items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)
for i in range(10):
word, count=items[i]
print("{}:{}".format(word, count)) # 打印前十名名单
运行结果如下图
可以看到现在都是人物名称了
导出数据,代码如下
import jieba #导入库
import os
print("人物出现次数前十名:")
txt = open("三国演义.txt", "r" ,encoding="gb18030").read()
remove = {"将军", "却说", "不能", "后主", "上马", "不知", "天子", "大叫", "众将", "不可",
"主公", "蜀兵", "只见", "如何", "商议", "都督", "一人", "汉中", "人马",
"陛下", "魏兵", "天下", "今日", "左右", "东吴", "于是", "荆州", "不能", "如此",
"大喜", "引兵", "次日", "军士", "军马","二人","不敢"} # 这些文字是要排出掉的,多次运行程序所得到的
words = jieba.lcut(txt)
counts = {}
for word in words:
if len(word) == 1:
continue
elif word == "诸葛亮" or word == "孔明曰":
rword = "孔明"
elif word == "关公" or word == "云长":
rword = "关羽"
elif word == "玄德" or word == "玄德曰":
rword = "刘备"
elif word == "孟德" or word == "丞相":
rword = "曹操" # 把相同意思的名字归为一个人
else:
rword = word
counts[rword] = counts.get(rword, 0) + 1
for word in remove:
del counts[word] #匹配文字相等就删除
items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)
#导出数据
fo = open("三国人物出场次数.txt", "a", encoding="utf-8")
for i in range(10):
word, count=items[i]
word = str(word)
count = str(count)
fo.write(word)
fo.write(":") #使用冒号分开
fo.write(count)
fo.write("\n") #换行
fo.close() #关闭文件
现在咱们运行看是否导出,运行结果如下图。
可以看到已经生成一个名为三国人物出场次数.txt的文件,而文件里的内容就是咱们刚才的数据。
三、数据可视化
想要可视化首先咱们要有数据,咱们把刚才导出的数据转换为字典形式。代码如下
#将txt文本里的数据转换为字典形式
fr = open("三国人物出场次数.txt", "r", encoding="utf-8")
dic = {}
keys = [] # 用来存储读取的顺序
for line in fr:
v = line.strip().split(":")
dic[v[0]] = v[1]
keys.append(v[0])
fr.close()
print(dic)
-运行结果如下
使用pyecharts绘图
先倒入模块
from pyecharts import options as opts
from pyecharts.charts import Bar
代码如下
# 绘图
list1=list(dic.keys())
list2=list(dic.values()) #提取字典里的数据作为绘图数据
c = (
Bar()
.add_xaxis(list1)
.add_yaxis("人物出场次数",list2)
.set_global_opts(
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
)
.render("人物出场次数可视化图.html")
)
运行程序看到目录下会生成一个名为人物出场次数可视化图.html的文件,如下图
使用浏览器打开,就可以看到数据以图形的方式呈现出来。
三、全部代码呈现
#《三国演义》的人物出场次数Python代码:
import jieba #导入库
import os
from pyecharts import options as opts
from pyecharts.charts import Bar
print("人物出现次数前十名:")
txt = open("三国演义.txt", "r" ,encoding="gb18030").read()
remove = {"将军", "却说", "不能", "后主", "上马", "不知", "天子", "大叫", "众将", "不可",
"主公", "蜀兵", "只见", "如何", "商议", "都督", "一人", "汉中", "人马",
"陛下", "魏兵", "天下", "今日", "左右", "东吴", "于是", "荆州", "不能", "如此",
"大喜", "引兵", "次日", "军士", "军马","二人","不敢"} # 这些文字是要排出掉的,多次运行程序所得到的
words = jieba.lcut(txt)
counts = {}
for word in words:
if len(word) == 1:
continue
elif word == "诸葛亮" or word == "孔明曰":
rword = "孔明"
elif word == "关公" or word == "云长":
rword = "关羽"
elif word == "玄德" or word == "玄德曰":
rword = "刘备"
elif word == "孟德" or word == "丞相":
rword = "曹操" # 把相同意思的名字归为一个人
else:
rword = word
counts[rword] = counts.get(rword, 0) + 1
for word in remove:
del counts[word] #匹配文字相等就删除
items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)
#导出数据
fo = open("三国人物出场次数.txt", "a", encoding="utf-8")
for i in range(10):
word, count=items[i]
word = str(word)
count = str(count)
fo.write(word)
fo.write(":") #使用冒号分开
fo.write(count)
fo.write("\n") #换行
fo.close() #关闭文件
#将txt文本里的数据转换为字典形式
fr = open("三国人物出场次数.txt", "r",encoding="utf-8" )
dic = {}
keys = [] # 用来存储读取的顺序
for line in fr:
v = line.strip().split(":")
dic[v[0]] = v[1]
keys.append(v[0])
fr.close()
print(dic)
# 绘图
list1=list(dic.keys())
list2=list(dic.values()) #提取字典里的数据作为绘图数据
c = (
Bar()
.add_xaxis(list1)
.add_yaxis("人物出场次数",list2)
.set_global_opts(
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
)
.render("人物出场次数可视化图.html")
)
以上信息来源于网络,如有侵权,请联系站长删除。
python三国演义人物 统计分析_使用python统计《三国演义》小说里人物出现次数前十名,并实现可视化。...相关推荐
- python三国演义人物 统计分析前20个_使用python统计《三国演义》小说里人物出现次数前十名,并实现可视化。...
一.安装所需要的第三方库 jieba (jieba是优秀的中文分词第三分库) pyecharts (一个优秀的数据可视化库) <三国演义>.txt下载地址(提取码:kist ) 使用pyc ...
- python统计小说人物出现次数_使用python统计《三国演义》小说里人物出现次数前十名,并实现可视化。...
一.安装所需要的第三方库 jieba (jieba是优秀的中文分词第三分库) pyecharts (一个优秀的数据可视化库) 使用pycharm安装库 打开Pycharm选择[File]下的Setti ...
- python统计单词出现次数最多的5个单词_【Python】统计文本中单词的出现次数前十的单词...
代码: # 读取一个文本,并且统计文本中单词的出现次数 def read_file(): # 在windows环境中的编码问题,指定utf-8 with open('F:/python源码/实验区/0 ...
- python 小说人物分析_用python分析小说人物关系(二)——实战篇
用到的工具jieba jieba分词,最好用的开源中文分词工具.他最主要的两个功能是分词和关键词的抽取.在这里我们需要用他的分词功能来提取文本中的人名. gephi gephi是一个开源的复杂网络数据 ...
- python之禅 中文_《Python之禅》中对于Python编程过程中的一些建议
<Python之禅>中对于Python编程过程中的一些建议 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: <Python之禅>中对于Pyt ...
- python分析保险销售数据_利用python进行保险数据分析及可视化
前言 现在数据分析在各个行业都在广泛的使用,尤其由于python语言的简便.高效性,在一些中小型企业的实际应用中逐渐替代excel公式.透视图等传统方式.网上各种博客论坛这类文章很多,但保险行业的数据 ...
- python大牛 关东升_《Python从小白到大牛》第4章 Python语法基础
本章主要为大家介绍Python的一些语法,其中包括标识符.关键字.常量.变量.表达式.语句.注释.模块和包等内容. 标识符和关键字 任何一种计算机语言都离不开标识符和关键字,因此下面将详细介绍Pyth ...
- python列表添加元组_【Python爬虫】列表、元组、集合练习
列表: pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值. list.append(obj) 在列表末尾添加新的对象 list.count(obj) 统计某个元素在列表 ...
- python 预编译加速_让Python代码运行更快的最佳方式
Python因其强大.灵活且易于使用等特性,而赢得了声誉.这些优点使其在各种各样的应用程序.工作流程和领域中得到了广泛应用.但是就语言的设计,也就是它天然的解释能力还有它的运行时的动态性而言,Pyth ...
- python画交互式地图_使用Python构建交互式地图-入门指南
python画交互式地图 Welcome to The Beginner's Guide to Building Interactive Maps in Python 欢迎使用Python构建交互式地 ...
最新文章
- 您也使用托管C++吗?
- HOG特征检测学习笔记
- VTK:vtkCursor3D用法实战
- 遍历 HashSet 的方法
- flask接收前台的form数据
- 3d激光雷达开发(绘制长方体)
- pandas dataframe多重索引常用操作
- php 获取搜索引擎,PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)...
- WORD文档未保存就关闭的解决方法
- 040 罗尔定理与零点定理、介值定理综合应用;柯西中值定理; 型二( f(n) (ξ) =0 )
- Macbook pro 电脑显示连上Wi-Fi但无法上网:解决方案汇总
- java将数据库数据转换成word文档并且生成pdf文件最后转换成对应的图片
- 自学mysql教程 资料_数据库MYSQL,自学,命令,教程。
- win10创建新的计算机用户名和密码,win10电脑怎么新建用户?高手教你在win10新建用户的方法...
- 测试-------性能测试(一)
- 某人写的openCV学习笔记
- nginx安装教程(centos系统)
- NASA授予下一代航天计算处理器合同,中国情况如何?
- 【ParaView教程】第四章 常见问题 —— 怎样在ParaView中绘制矢量分量的等值线/面?
- 关于“24点”游戏的解法
热门文章
- besiege机器人_围攻besiege机器人 机器人制作思路
- 163免费邮件群发平台,企业群发邮件的哪个好?企业邮件群发助手
- 工作日报这样写 大老板也挑不出错
- 电驴服务器更新的作用,用电驴,这些服务器知识你必知
- 用python做生日礼物_地产大佬潘石屹把学习Python当作生日礼物送给自己
- 梁建章:我带领携程战胜所有竞争对手的方法论
- 批量将jpg格式图像改为png格式
- 大学计算机考试word实操夏威夷,计算机一级等级考试操作题WORD(4页)-原创力文档...
- 论“无常,苦、无我”
- layuiadmin上手好难_滑步车比赛好拍吗?