Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何获得每个社区的直径_Python_Igraph_Graph Theory - Fatal编程技术网

Python 如何获得每个社区的直径

Python 如何获得每个社区的直径,python,igraph,graph-theory,Python,Igraph,Graph Theory,我试图在我的数据集中(扎卡里的空手道俱乐部)计算jupyter上每个社区的直径。我创建了一个循环进行迭代,但它给出了整个网络的直径,而不是每个社区的直径 from igraph import * import pandas as pd data = pd.read_csv('zachary.txt',sep =" ", header = None) data_values = data.values g = Graph() new_data = data_values.tolist() dat

我试图在我的数据集中(扎卡里的空手道俱乐部)计算jupyter上每个社区的直径。我创建了一个循环进行迭代,但它给出了整个网络的直径,而不是每个社区的直径

from igraph import *
import pandas as pd 
data = pd.read_csv('zachary.txt',sep =" ", header = None)
data_values = data.values
g = Graph()
new_data = data_values.tolist()
data_graph = g.Adjacency(new_data, mode = 'undirected')
s = data_graph.community_infomap()
print(s)
s_List = list(s)
print(s_List)
for ic in s_List:
    y = data_graph.diameter(ic)
    print(y)

P>>期望输出是“1,2,2”或“1,3,1”,但实际输出是“5,5,5”,这是整个社区的直径。

< P>你需要先考虑社区在取直径之前的子图。我相信用以下方法替换您的y值应该会起作用:

y = data_graph.subgraph(ic).diameter()

你需要先考虑社区在取直径之前的子图。我相信用以下方法替换您的y值应该会起作用:

y = data_graph.subgraph(ic).diameter()