【问题标题】:igraph to_undirected() method analogy in NetworkXNetworkX 中的 igraph to_undirected() 方法类比
【发布时间】:2015-06-28 16:52:52
【问题描述】:

在 igraph 中,我发现了两种将图转换为无向图的不同方法:
第一个是to_undirected,它只是“将有向图转换为无向图”。第二个是as_undirected,它在副本上调用to_undirected

在 NetworkX 中,我发现只有一个方法 to_undirected,它只是创建了图的无向深层副本。问题是我真的找不到类似于 igraph 中第一个的方法。是否有任何解决方案可以在不使用 NetworkX 创建副本的情况下转换图形?

【问题讨论】:

    标签: python igraph networkx undirected-graph


    【解决方案1】:

    正如您所说,networkx.to_undirected 创建了图表的深层副本。这意味着它会复制边、节点和图形属性字典。要创建一个有向图g 的无向浅表副本,可以这样写:

    g = networkx.Graph(g)
    

    这仍然是一个副本,只是一个浅层副本,其中属性字典没有被深度复制。

    似乎不存在将DiGraph 转换为Graph 的方法就地。做同样多的事情意味着改变对象的类型——简单地做一个浅拷贝可能会更干净,而且成本不会高很多。

    【讨论】:

      猜你喜欢
      • 2019-10-05
      • 2019-05-09
      • 1970-01-01
      • 2014-06-07
      • 1970-01-01
      • 2013-03-30
      • 1970-01-01
      • 1970-01-01
      • 2021-04-27
      相关资源
      最近更新 更多