Конвертировать сообщество в новый график - PullRequest
0 голосов
/ 19 декабря 2018

У меня проблема с этим кодом.Я использовал networkx.список c - сообщества граха Г. Я хочу создать граф в сообществе.если узлы в списке c были соседями, один из узлов добавлялся в список r, другой узел добавлялся в список s.например, c=[1,2,3,4,5,6,7], если узел 1 с узлом 2 и узел 3 с узлом 5 были соседними в графе G. Узлы 1 и 3 добавляются в список r, а узлы 2 и 5 добавляются в список s. r=[1,3] и s=[2,5].но мой код напечатан "None". пожалуйста, помогите мне.



    import networkx as nx
    from networkx.algorithms.community import greedy_modularity_communities
    # Insert Dataset
    G = nx.read_edgelist("p120.txt")
    #Print information Graph
    print("Number Nodes: ",G.number_of_nodes())
    print("Number Edges: ",G.size())
    # Community detection algorithm
    c = list(greedy_modularity_communities(G))
    print("Number of  community: ",len(c))
    print ("Running time: ",int(T.total_seconds()),"second!")
    i=0
    running=True
    while running:
        if i == len(c):
            break
        # n is number of node in the community.
        n=len(c[i])
        #create Graph in community
        results = [int(m) for m in c[i]]
        print("community",i,":",results)
        Com_of_graph=nx.Graph()
        Com_of_graph.add_nodes_from(results)
        number_of_com_node=Com_of_graph.number_of_nodes()
        print("Node of community: ",number_of_com_node)
        for j in range(number_of_com_node-1):
            for k in range(number_of_com_node-1):
                u=results[j]
                v=results[k]
                if G.number_of_edges(str(u),str(v))>0:
                    u1=list()
                    v1=list()
                    r=u1.append(u)
                    s=v1.append(v)
                    print(r)
                    print(s)
           z=zip(r,s)
       Com_of_graph.add_edges_from(*z)
       i=i+1

...