我有一个 numpy
二维数组,其中的值表示节点之间边的权重。矩阵是对称的,我取对角线为零。我找不到如何将此矩阵转换为 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())
最佳答案
如果您想保留矩阵中的原始值作为权重,请使用 Graph.Weighted_Adjacency()
。权重将作为 weight
边属性附加到 igraph 创建的图形。
关于python - 从 numpy 求和二维数组创建加权 igraph 图作为邻接矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36615878/