【问题标题】:collapsing graphs according to a common parameter in iGraph [Python]根据 iGraph [Python] 中的通用参数折叠图形
【发布时间】:2015-07-21 19:46:14
【问题描述】:

我有一个 igraph 网络 g,其中所有边的权重均为 1,并且所有顶点属于 5 个组中的一个(用称为“组”的顶点参数注明)。

现在我想制作一个新图 G,其中 g 的顶点根据它们所属的组折叠、收缩。这样 G 的顶点数就减少到 g 中不同组的数量,而这些新折叠的顶点之间的边的权重等于 g 中相同组之间的边数之和。

我相信我可以使用contract_vertices()。但是边缘的权重不会被添加,我猜......无论如何,有没有办法在 igraph 中完成这个?

谢谢!

【问题讨论】:

    标签: python igraph


    【解决方案1】:

    使用contract_vertices() 后跟simplify(),可以折叠边缘并对权重求和:

    g2 = g.copy()
    g2.contract_vertices(membership)
    g2.simplify(combine_edges={"weight": sum})
    

    【讨论】:

    • 太好了,谢谢(iGraph 令人印象深刻)!至于成员资格,有没有办法从参数“组”构建一个数组?
    • (“组”是一个字符串)
    猜你喜欢
    • 2016-05-02
    • 2020-01-01
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 2018-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多