将链接矩阵转换为邻接矩阵

时间:2019-06-18 08:19:41

标签: python networkx adjacency-matrix

给出的:来自分层聚类的链接矩阵(例如,单个链接) 想要:该关联矩阵的邻接矩阵

在python中(例如networkx或任何其他库或方法)如何实现了这一目标?由于我不认为我是第一个绊倒这个问题的人,所以我希望它有一些配方/库功能

1 个答案:

答案 0 :(得分:0)

Networkx具有nx.to_pandas_adjacency函数,该函数为给定图形返回具有邻接矩阵的熊猫数据帧。您应该从链接列表中创建一个networkx图,然后将其转换为邻接矩阵:

import networkx as nx

links = [
    (1, 2),
    (2, 3),
    (1, 4),
    (1, 3),
    (4, 5),
    (1, 5)
]

G = nx.Graph()
G.add_edges_from(links)
nx.to_pandas_adjacency(G)
    1       2       3       4       5
1   0.0     1.0     1.0     1.0     1.0
2   1.0     0.0     1.0     0.0     0.0
3   1.0     1.0     0.0     0.0     0.0
4   1.0     0.0     0.0     0.0     1.0
5   1.0     0.0     0.0     1.0     0.0