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

标签 python arrays numpy matrix igraph

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

相关文章:

c++ - 初始化二维数组中特定行和列的问题

python - 按列对 NumPy 中的数组进行排序

python - 删除两个等长数组中nan AND对应的元素

python - 限制类属性值的可能选项

c++ - 提取图标Ex : works but occasionally crashes

javascript - 数组形状错误

python-3.x - 为什么我没有得到单位矩阵?

Python:脚本中的内存问题

python - 适用于 Python 的 iCal (ics) 包

python - 有没有更好的方法在 python 项目中设置 sys.path.append ?