我有一个numpy
2D数组,其值代表节点之间边缘的权重。矩阵是对称的,我将对角线设为零。我没有找到如何将此矩阵转换为igraph Graph对象的示例。我尝试了以下方法,但它不起作用:
import numpy as np
import igraph
def symmetrize(a):
return a + a.T - 2*np.diag(a.diagonal())
A = symmetrize(np.random.random((100,100)))
G = igraph.Graph.Adjacency(A.tolist())
答案 0 :(得分:4)
如果要将矩阵中的原始值保留为权重,请使用Graph.Weighted_Adjacency()
。权重将作为weight
边缘属性附加到igraph创建的图形。