相信很多人都知道,《红楼梦》就是中国古典小说的巅峰之作,太多人沉迷其中,而红学也经久不衰。当然今天我们不是来探究小说的,而是通过 Python 来探索下红楼梦里那千丝万缕的人物关系。
开干~
数据准备
-
红楼梦 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 i