“ 拜读过徐麟兄(公众号“数据森麟”)发布的《“水泊梁山“互联网有限公司一百单八将内部社交网络》,真的是引人深思,辗转反侧啊(我已经不知道用什么词来形容了
)。于是乎,自己也仿照着,来理一理红楼里的那些关系
”
憋慌,这绝对不是你想象的那样的文章
01.准备
- 红楼TXT版本电子书一本
- 红楼人物小全一份(之所以叫小全,是因为只包括宝玉和十二钗)
- 安装好Python3并且安装pandas和pycharts库
- 找个夜黑风高,无人打扰的夜晚(毕竟这是个技术活
)
02.编码
Action 1
数据准备阶段
首先对TXT文本做下简单的处理,以空格作为分割标准,再使用pandas读取人物excel列表,并把每个人物出现的次数存入其中。
Action 2
用图表展示人物出场次数
这里使用pyecharts来作图
到目录下找到该HTML文件,打开查看
啥也不说,宝玉妥妥的NO.1,谁叫人家是块顽石呢
,最没想到的是,我们的黛玉小姐姐竟然只能排第三,辣凤子稳居第二,看来古时这种川妹子类型的就很受欢迎呀
。
Action 3
产生相互之间的关系,因为后面要使用Gephi,所以这里产生三列,Source、Target和Weight
其实就是两层循环,把共同出现在一个段落里的人物的次数拿出来
。
03.产生相互的关系
使用Gephi,突然发现这真的是一个强大的工具啊,感觉在以后的数据可视化中会大展拳脚的(就是需要后面好好研究下
)。
这里我还是调试了很久的,后面有机会写一下这个软件的相关学习总结吧,这里直接上图了。
导出之后能看的更加清楚
妥妥的“铁”三角啊
,然后凤姐、湘云等在外围插科打诨
。
04. 后话
最后,放上代码地址:https://github.com/zhouwei713/honglou,点击“阅读原文”也可跳转到GitHub。
最后的最后,撸完代码,又有重新再看一遍红楼梦的冲动了,冲鸭!