我正在使用Python 3.7.1和networkx 2.2。 我使用networkx生成了有向图,并且我想使用networkx.algorithms.community.modularity_max.greedy_modularity_communities计算图的社区 按以下步骤操作:
import networkx as nx
from networkx.algorithms.community import greedy_modularity_communities
G=nx.DiGraph()
G.add_nodes_from([1,10])
G.add_edges_from([(1,2),(3,4),(5,6),(7,1),(2,10),(3,8),(9,8)])
c = list(greedy_modularity_communities(G))
sorted(c[0])
我收到一个错误:
IndexError:列表索引超出范围
答案 0 :(得分:1)
我怀疑您的问题是图形是有向的。 greedy_modularity_communities
的文档表明它期望输入为Graph
,而您的输入为DiGraph
。
如果我这样做
H = nx.Graph(G)
c = list(greedy_modularity_communities(H))
我没有收到错误消息。我不确定它在H
中找到的社区是否会是您感兴趣的地方。