java 共现矩阵_共现矩阵,度,边概念

a b c d e

原始矩阵 a b c a 0 1 1 1 1

b c e --> b 1 0 2 0 1 共现矩阵 共现矩阵对角线上一定是全零

a e d c 1 2 0 0 1

d 1 0 0 0 1

e 1 0 1 1 0

c a e d

那么 b 2 1 1 1 bc之间的边就是2,依此类推:ba之间的边就是1,be之间的边就是1,bd之间的边就是1, 所有b元素的边加起来就是b的度,为什么要介绍这些概念呢?因为在复杂网络数据可视化中将会用到这些概念。以b为结点,将a,c,d,e四个结点进行联结,那么度越大,节点越大,边越大,线越粗。最终目标是将冰与火之歌的人物关系图谱通过可视化的方式做出来。

import pandas as pd

df = pd.DataFrame({'TFD' : ['AA', 'SL', 'BB', 'D0', 'Dk', 'FF'],

'Snack' : ['1', '0', '1', '1', '0', '0'],

'Trans' : ['1', '1', '1', '0', '0', '1'],

'Dop' : ['1', '0', '1', '0', '1', '1']}).set_index('TFD')

print df

>>>

Dop Snack Trans

TFD

AA 1 1 1

SL 0 0 1

BB 1 1 1

D0 0 1 0

Dk 1 0 0

FF 1 0 1

[6 rows x 3 columns]

Dop Snack Trans

Dop 0 2 3

Snack 2 0 2

Trans 3 2 0

这是在stackoverflow上看到一个关于pandas构建共现矩阵的题,那么为什么会从上面的矩阵转换成下面的矩阵呢?先看原始矩阵,在第一行中Dop与Snack在AA中共同出现1次,在第三行中Dop与Snack在BB中共同出现1次,以此类推。最终就得到了下面的矩阵。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值