用给定的元组列表构造邻接矩阵

2024-06-25 06:38:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的元组列表

[(772, 36, 3),
 (471, 228, 5),
 (641, 401, 4),
 (312, 98, 4),
 (58, 504, 5),
 (235, 727, 5),
 (285, 266, 4),
 (451, 513, 4),
 (436, 661, 5),
 (101, 648, 3),
 (4, 229, 3),
 (159, 174, 4),
 (832, 1141, 4),
 (53, 544, 3),
 (755, 471, 3),
 (886, 1049, 4),
 (931, 574, 2),
 (641, 582, 4),
 (585, 181, 3),
 (853, 456, 3)]

我想使用元组[0]和元组[1]作为矩阵维度,元组[2]作为矩阵中的值来创建邻接矩阵

我的代码是

import networkx as nx
from networkx.algorithms.bipartite import biadjacency_matrix

def to_adjacency_matrix(data,edges):
    g = nx.DiGraph()
    g.add_edges_from(edges)
    partition_1 = set(map(itemgetter(0), data))
    return biadjacency_matrix(g, partition_1).toarray()

to_adjacency_matrix(data,edges)

将异常获取为TypeError:“int”对象在“g.add_edges_from(edges)”处不可编辑


Tags: tofromimportnetworkxadd列表data矩阵