我有一个邻接矩阵,其中非零元素表示链接的权重。权重是小于1的小数,但为正数。例如,将下面的矩阵视为加权邻接矩阵a
array([[0. , 0.93, 0.84, 0.76],
[0.93, 0. , 0.93, 0.85],
[0.84, 0.93, 0. , 0.92],
[0.76, 0.85, 0.92, 0. ]])
我想获得其中所有节点的节点中间性。要注意的是,我的实际邻接矩阵是2000 X2000。我是networkx的新手,因此,任何帮助将非常可贵。
答案 0 :(得分:1)
您可以尝试
import networkx as nx
import numpy as np
A=np.matrix([[0. , 0.93, 0.84, 0.76, 0.64],
[0.93, 0. , 0.93, 0.85, 0 ],
[0.84, 0.93, 0. , 0.92, 0.32],
[0.76, 0.85, 0.92, 0. , 0.55],
[0.64, 0 , 0.32, 0.55, 0]])
G=nx.from_numpy_matrix(A)
betweeness_dict = nx.centrality.betweenness_centrality(G,weight='weight')
betweeness_dict
将包含所有节点之间的中心位置
{0: 0.0, 1: 0.0, 2: 0.13888888888888887, 3: 0.0, 4: 0.13888888888888887}
您可以阅读有关文档at this link的更多信息。