从numpy summetric 2D数组创建加权igraph图作为邻接矩阵

时间:2016-04-14 07:00:21

标签: python arrays numpy matrix igraph

我有一个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())

1 个答案:

答案 0 :(得分:4)

如果要将矩阵中的原始值保留为权重,请使用Graph.Weighted_Adjacency()。权重将作为weight边缘属性附加到igraph创建的图形。