在 Python 的 igraph 中删除多条边

Posted

技术标签:

【中文标题】在 Python 的 igraph 中删除多条边【英文标题】:Delete multiple edges in igraph for Python 【发布时间】:2015-01-26 03:49:43 【问题描述】:

我在使用 Python 删除 igraph 中的多条边时遇到问题。 这个我试过了,还是不行:

for e in g.es:
    if e.is_multiple() is True:
        g.es.delete(e)

我什至尝试过

for e in g.es:
    if e.is_multiple() is True:
        helptuple = e.tuple
        source = helptuple[0]
        target = helptuple[1]
        eid = g.get_eid(source, target)
        g.delete_edges(eid)

还有其他解决方案吗?

【问题讨论】:

我还可以欣赏基于以下内容的解决方案:if not edge in edgelist: g.add_edge(e) 见igraph.org/python/doc/igraph.GraphBase-class.html#simplify 【参考方案1】:

试试这个:

def simplify(multiple=True, loops=True, combine_edges=None):

它是来自 API 的函数。

multiple -> 是否删除多条边。

在这里阅读更多:

https://igraph.org/python/doc/api/igraph._igraph.GraphBase.html#simplify

【讨论】:

虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review

以上是关于在 Python 的 igraph 中删除多条边的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 通过 igraph 分析 shapefile

在 Python 中使用 igraph 进行社区检测

python中将edgelist导入igraph的格式

使用Igraph中的顶点标签删除边

networkx/igraph (Python) 上的指定边长

使用Python-iGraph绘制好友关系图