【问题标题】:Python: read adjacency matrix from file for igraphPython:从 igraph 文件中读取邻接矩阵
【发布时间】:2018-12-07 00:51:44
【问题描述】:

我的问题很简单,但是网上实在找不到!

我有一个加权有向图的邻接矩阵,如下所示:

1    2    3    4    
5    2    4    6  
3    5    6    2
4    6    7    8

所以第 i 列第 j 行的元素,显示了节点 i 和 j 之间链接的权重。

如何将此文件(可以是 txt 或 csv 格式)作为矩阵读取以在 igraph 中使用? 我想找到集群的数量。所以,我想要这样的东西: g.community_multilevel() 如果 g 是我的矩阵。

【问题讨论】:

    标签: python igraph adjacency-matrix


    【解决方案1】:

    我假设您的机器上已经安装了 igraph 和 cairo。如果没有,并且您使用的是 Mac,请参阅 this post。您要使用的方法是Read_Adjacency(),记录在here。为了阅读你的图表,我使用了类似这样的 python 代码:

    import igraph 
    from igraph import * 
    g=Graph.Read_Adjacency(f="soAdj",sep=None, comment_char='#',attribute="weighted")
    plot(g, "readAdjSoExample.pdf",layout="circle")
    

    并且情节将给出如下内容:

    并且您可以访问权重以验证它们是否通过以下命令正确读取:g.es[3] 给出结果 igraph.Edge(<igraph.Graph object at 0x10f614bf0>, 3, {'weighted': 4.0}) OP 提到了 text vs csv 格式,区别在于您将哪个分隔符作为字符串包含到该方法的 sep= 参数中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-19
      • 2013-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-03
      相关资源
      最近更新 更多