数据分析告诉你,韦小宝跟他七个老婆哪个最亲?

欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!

对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tsaiedu,并注明消息来源,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。

天善学院2018年度SVIP 998特惠即将结束!https://www.hellobi.com/svip一众一线名企名师,一波数据分析+人工智能+商业智能绝对好课!


作者:挖数 腾讯数据产品经理 & 段子手

个人微信公号:washu66


金庸的“飞雪连天射白鹿,笑书神侠倚碧鸳”,唯独《鹿鼎记》写的最是香艳动人,年少时阅此书,每每春心荡漾,心里如钻进小鹿。

刁蛮任性的建宁公主、天香国色的阿珂、温柔懂事的双儿,在当时年少的我心中,真是得一个足矣。

3901436-078bf55be99253d6

作者在写小说时,往往会将自己代入到书中主角,因此金庸写韦小宝,往往是在写他自己,或者说是期望的自己。

因此要看韦小宝与七个老婆谁最亲,可以看书中韦小宝与七个老婆谁的互动最多。

3901436-04c7e05cab6826ca

首先下载《鹿鼎记》整本小说的txt。

韦小宝一听大喜,心想:“原来你名叫阿珂,终于给我知道了。”他随伴白衣尼多日,知她喜人恭谨谦让,在她面前,越是吃亏,越有好处,忙道:“师太,姑娘这两脚原是该踢的,实在是我不对,真难怪姑娘生气。她便再踢我一千一万下,那也是小的该死。”爬起身来,双手托住下颚,只痛得眼泪也流了出来。这倒不是做作,实在那一脚踢得不轻。

然后我们定义这样的指标:

七个老婆名字与韦小宝在同一段落一起出现的次数,作为 亲密度 指标,如以上段落,韦小宝和阿珂的亲密度+1。

找到七个老婆的名词:

阿珂

苏荃/洪夫人

建宁公主/建宁

双儿

沐剑屏/郡主

方怡/方姑娘

曾柔/曾姑娘

将《鹿鼎记》txt按照段落,分割成11581个txt文件。

分割文件的python代码:

s=open('d:/lu/lu.txt','r')

q=s.read()

f=q.split('\n')

x=1

foriinf:

b=open('d:/lu/'+str(x)+'.txt','w')

b.write(i)

x+=1

    printx

s.close

然后用python的结巴分词包,去匹配每个名字在每个段落是否有出现,出现标记为1,否则为0.

x=1

result={'xiaobao':[],'ake':[],'suquan':[],'jianning':[],'shuanger':[],'junzhu':[],'fangyi':[],'zengrou':[]}

whilex<=11581:

a={'word':[],'count':[]}

f=open('d:/lu/'+str(x)+'.txt','r').read()

words=list(jieba.cut(f))

    ifu'韦小宝'inwords:

result['xiaobao'].append(1)

    else:

result['xiaobao'].append(0)

    ifu'阿珂'inwords:

result['ake'].append(1)

    else:

result['ake'].append(0)

    ...

再两两计算在段落里一同出现的次数。

result2={'role':[],'xiaobao':[],'ake':[],'suquan':[],'jianning':[],'shuanger':[],'junzhu':[],'fangyi':[],'zengrou':[]}

forainb.columns.values:

    x=xiaobao=ake=suquan=jianning=shuanger=junzhu=fangyi=zengrou=0

whilex<=11580:

if b.iloc[x][a]==1:

 if b.iloc[x]['xiaobao']==1:

                xiaobao+=1

ifb.iloc[x]['ake']==1:

                ake+=1

            ...

        x+=1

result2['role'].append(a)

result2['xiaobao'].append(xiaobao)

result2['ake'].append(ake)

result2['suquan'].append(suquan)

result2['jianning'].append(jianning)

result2['shuanger'].append(shuanger)

result2['junzhu'].append(junzhu)

result2['fangyi'].append(fangyi)

result2['zengrou'].append(zengrou)

o=pd.DataFrame(result2)

o.to_csv('d:/lu/lu2.csv',mode='w',encoding='UTF-8')

最后生成这样一份矩阵的csv文件。

由以上矩阵可以得出韦小宝跟七个老婆的亲密度如下:

韦小宝&双儿:327

韦小宝&沐剑屏:278

韦小宝&阿珂:203

韦小宝&方怡:147

韦小宝&苏荃:135

韦小宝&建宁公主:47

韦小宝&曾柔:28

实际以上不仅算出韦小宝跟七个老婆的亲密度,还算出了七个老婆两两之间的亲密度。

我们将以上矩阵丢进Gephi(一款画关系矩阵的可视化软件),以散点的大小代表名字出现的频次,以线的粗细代表亲密度的大小,得到这样一张图。

所以,是双儿笑到了最后

最喜欢周星驰版的双儿  (~﹁~)

同理,我还做了《还珠格格》的关系图

3901436-19fb9b127fdc74ea

计算了包括小燕子、紫薇、乾隆、尔康、五阿哥、金锁、尔泰、皇后、令妃、塞娅、柳青、柳红在内的亲密度。

发现《还珠格格》原来讲的是小燕子、紫薇和乾隆三角恋的故事,其他角色都是打酱油的  ╮( ̄▽  ̄)╭

所以,姜还是皇阿玛的辣

3901436-91fd64800503acd9

最后,手把手教你怎么用Gephi画关系图。

1、首先,从官网下载Gephi;

2、文件-导入表格,根据数据形式选择类型,本文是选择矩阵;

3901436-e68c636532962f3a

3、耐心调整数据,包括结点、边的颜色和大小(选完记得点应用),结点的标签要点T才能展示,然后一些lable要在数据资料那里赋值才能展示出来;

3901436-d6ab137343978966

4、最后,预览,刷新,然后输出图片。

3901436-bd89ef552df727e4

End

一套SVIP课程,15选8,每套课程均价112!知识付费的时代,一次旅游的钱便能收获8大全方位、多体系的课程

更有全场六折优惠课程,为你加油助力!


3901436-1a77f7dcbb88dcd1.jpg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值