有没有一种简单的方法可以修剪网络X图中断开的网络?

Is there an easy way to prune disconnected networks in a NetworkX graph?(有没有一种简单的方法可以修剪网络X图中断开的网络?)

本文介绍了有没有一种简单的方法可以修剪网络X图中断开的网络?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Python的NetworkX包为不同规模的网络计算一系列网络统计信息。我正在扫描一个独立的参数,该参数系统地修剪边缘,因此有时一个小网络会与主网络断开连接。是否有一种简单的方法来检测和删除NetworkX中那些较小的断开连接的网络?

推荐答案

索林是正确的。该函数在NetworkX中称为connected_component_subgraphs

文档:http://networkx.github.io/documentation/latest/reference/generated/networkx.algorithms.components.connected.connected_component_subgraphs.html#networkx.algorithms.components.connected.connected_component_subgraphs

以下是在NetworkX图中查找最大网络的一些代码:

cur_graph = # whatever graph you're working with

if not nx.is_connected(cur_graph):
    # get a list of unconnected networks
    sub_graphs = nx.connected_component_subgraphs(cur_graph)

    main_graph = sub_graphs[0]

    # find the largest network in that list
    for sg in sub_graphs:
        if len(sg.nodes()) > len(main_graph.nodes()):
            main_graph = sg

    cur_graph = main_graph

这篇关于有没有一种简单的方法可以修剪网络X图中断开的网络?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:有没有一种简单的方法可以修剪网络X图中断开的网络?

基础教程推荐