从 numpy 求和二维数组创建加权 igraph 图作为邻接矩阵

Ohm*_*Ohm 2 python arrays numpy matrix igraph

我有一个numpy二维数组,其值代表节点之间的边的权重。该矩阵是对称的,我取对角线为零。我没有找到如何将此矩阵转换为 igraph 图形对象的示例。我尝试过以下方法,但它不起作用:

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())
Run Code Online (Sandbox Code Playgroud)

Tam*_*más 6

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