我如何向networkx边缘添加权重?

问题描述 投票:0回答:1

我有基本的数据框,看起来像这样

     A  B  C  D ... Z
foo1 1  0  1  0 ... 0
foo2 0  0  0  1 ... 0
foo3 0  1  0  0 ... 1
foo4 1  0  1  1 ... 0

(实际形状= 330,1113)我将其转换为邻接矩阵

   A  B  C  D ... Z
A
B
C
D
..
Z

(实际形状= 1113,1113)

此矩阵只有二进制值,我可以使用networkx获得图的几个中心点(度,紧密度,中间度)

然后,我给数据框提供了一些值,例如

     A  B  C  D ... Z
foo1 3  0  3  0 ... 0
foo2 0  0  0  2 ... 0
foo3 0  5  0  0 ... 5
foo4 4  0  4  4 ... 0

((实际形状= 330、1113,并且一行中的值都相同)] >>

我也将其转换为邻接矩阵并计算中心度但是我对二进制值有相同的结果。

这种情况正常吗?我以为这些中心点会因为重量而有所不同,但不是。

我希望具有较高值的​​列(例如A)会更居中,但两个结果都相同。

为什么会这样?我该如何解决?

我具有基本数据帧,如下所示:ABCD ... Z foo1 1 0 1 0 ... 0 foo2 0 0 0 1 ... 0 foo3 0 1 0 0 ... 1 foo4 1 0 1 1 ... 0(实际形状= 330、1113),并且i ...

python networkx adjacency-matrix
1个回答
0
投票

当您使用nx.from_numpy_array时,来自进纸邻接数组的值将设置为边缘权重,因此应根据需要进行操作。使用一些示例数组:

nx.from_numpy_array
© www.soinside.com 2019 - 2024. All rights reserved.