使用Python分析罗贯中《三国演义》的主角(以出现次数进行统计)

发布时间:19-10-2404:03科技达人,优质原创作者

导入相关模块并定义两个列表

到了这里,我们基本就实现了统计人物出现次数的效果。

【编码】

我们通过编码来实现上述过程,首先,我们导入相关模块,并定义一组排除列表和人物列表,如下图所示。

我们的思路是这样的,分三步走:

获得了人名列表,我们就直接使用Counter()函数进行统计即可,然后将统计信息传入函数中生成一个词云,源代码如下图所示。

【分析】

准备好了吗?马上开始

《三国演义》中人物统计数据

然后,我们定义一个函数用于获取《三国演义》文本中的数据,源代码如下图所示。

最后,我们使用collections中的Counter函数来获得人名信息数据。并生成一个词云进行显示。

首先,对干扰我们统计的词语进行清洗和归一化处理(比如:清洗时,我们将一些虚词、助词等放到jieba的停用词里面;云长、关公统一命名为关羽,这个是明显的,还有类似“关、”这样的,其实也是关羽出现了一次);

生成词云结果展示

罗贯中的《三国演义》这部巨著在中国来说可谓是家喻户晓,作为四大名著之一,《三国演义》中的人物数不胜数(这词可能用得不对)。但据网上统计,该部作品总共出现了1191人,武将436人,文官451人(数据来自百度知道网友准国女神的答案)。试想一下,这么多人出现,谁能记得过来?

《三国演义》一部(网上自己找),Python安装jieba、WordCloud库,我们今天使用的Python版本是3.6.8(Python 3.X都可以)

将文本内容变成人名列表

python高手养成

好了,今天的内容就到这里了。虽然我们对于很多人的字、号信息没有全部录入。但是,从这个结果可以看出来,罗贯中的《三国演义》中出现最多的人物还是曹阿瞒,其次就是刘备、关羽、张飞。诸葛亮这么聪明的人物排到了第五位(当然,出现次数不能说明什么问题)。欢迎大家留言关注,后续内容会更加精彩哦。

新版《三国演义》剧照

三国人物图

今天,我们针对《三国演义》中人物的出现次数,来看一下三国中到底谁是主演?我们今天就把这个作为Python的练手项目来做一做,结果也不能说明什么问题。(俗话说:人生如戏、戏如人生,历史的车轮是靠人民大众来推动的,三国中出名的人物也只是历史代表人物而已,严格意义上来讲,也不能说谁出现次数多谁就是主角了,特此声明)

【总结】

小时候,大人都说这个曹操是个奸臣,很坏,他有句名言“宁可我负天下人,不可天下人负我”,又是妇孺皆知。诸葛亮是个神人,他上知天文、下知地理;他能草船借箭、又能唱空城计,技能逆天了。阿斗是个扶不起来的货,可是面对蜀汉局势,他又能如何力挽狂澜呢?……人物我们就不分析了,品三国这样的通俗历史也听了无数遍了。

我们来看下具体数据,如下图所示。

统计并生成词云源代码

然后,使用jieba库对《三国演义》全篇进行分词操作,并依次统计各个人物出现的次数放在字典中;

对于词云属性设置有疑问的朋友们可以参照我的另一篇博文(拥有这件神器,菜鸟也可以成为数据分析大师,这是一个详细介绍词云生成过程的系列内容)。我们来看一下程序运行后生成的词云吧,效果如下图所示。

【原料】

免责声明:文章《使用Python分析罗贯中《三国演义》的主角(以出现次数进行统计)》来至网络,文章表达观点不代表本站观点,文章版权属于原作者所有,若有侵权,请联系本站站长处理!

发表评论

电子邮件地址不会被公开。 必填项已用*标注