嗨害大家好鸭!我是小熊猫🖤
《红楼梦》作为我国四大名著之一,
古典小说的巅峰之作,
粉丝量极其庞大,
而红学也经久不衰。
所以我们今天通过 Python 来捋一下红楼梦里那错综复杂的人物关系,
话不多说,开始整活!
有什么python相关报错解答自己不会的、或者源码资料/模块安装/
女装大佬精通技巧都可以来这里:(https://jq.qq.com/?_wv=1027&k=2Q3YTfym)或者+V:python10010问我
一、准备工作
- 红楼梦txt格式电子书一份
- 金陵十二钗+贾宝玉人物名称列表
宝玉 nr
黛玉 nr
宝钗 nr
湘云 nr
凤姐 nr
李纨 nr
元春 nr
迎春 nr
探春 nr
惜春 nr
妙玉 nr
巧姐 nr
秦氏 nr
该分列表是为了做分词时使用,后面的 nr 就是人名的意思。
二、人物出镜次数
首先读取小说
with open("红楼梦.txt", encoding="gb18030") as f:
honglou = f.read()
接下来进行出场次数数据整理
honglou = honglou.replace("\n", " ")
honglou_new = honglou.split(" ")
renwu_list = ['宝玉', '黛玉', '宝钗', '湘云', '凤姐', '李纨', '元春', '迎春', '探春', '惜春', '妙玉', '巧姐', '秦氏']
renwu = pd.DataFrame(data=renwu_list, columns=['姓名'])
renwu['出现次数'] = renwu.apply(lambda x: len([k for k in honglou_new if x[u'姓名'] in k]), axis=1)
renwu.to_csv('renwu.csv'