【问题标题】:Issue with printing clusters using igraph使用 igraph 打印集群的问题
【发布时间】:2018-06-02 06:55:07
【问题描述】:

我有一个图 g,我想使用 igraph 在这个图中找到集群,这是我的代码:

g = Graph.Read_Ncol('karate.txt', directed=False)
p = g.community_label_propagation()

我尝试以两种方式打印集群,首先:

print(p)

秒:

for idx, cluster in enumerate(p):
    print(cluster)

这是第一个的输出:

[0] 0, 1, 3, 4, 6, 7, 10, 11, 12, 13, 17, 19, 21
[1] 2, 8, 31, 30, 9, 27, 28, 32, 33, 14, 15, 18, 20, 22, 23, 25, 29, 24, 26
[2] 5, 16

第二个的输出是:

[0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15]
[2, 8, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33]
[5, 22]

我想知道为什么这两个输出中的集群不同。

【问题讨论】:

    标签: python cluster-analysis igraph


    【解决方案1】:

    您正在打印不同的数据结构。

    首先,您正在打印整个集群。显然,igraph 的一些作者认为打印集群编号也是一个好主意。

    在第二种情况下,那将是你的责任。

    注意输出

    a=[[1,2],[3,4]]
    print a
    for row in a: print row
    

    也不一样。

    【讨论】:

    • 感谢您的回答,但这不是我的意思。以第三个集群为例。在第一个输出中,第三个簇是 [5,16],在第二个输出中,第三个簇是 [5,22]
    • 可能一个使用节点标签(恰好是数字),另一个使用数组索引。您可以将数据映射到标签吗?
    • 谢谢第一个使用顶点的名称(与输入文件相同),第二个使用顶点的ID
    猜你喜欢
    • 1970-01-01
    • 2011-12-21
    • 2014-02-23
    • 1970-01-01
    • 2016-11-04
    • 2014-04-01
    • 2019-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多