【发布时间】:2017-01-28 16:24:06
【问题描述】:
我无法计算简单 NetworkX 加权图的中心性。
这是正常的还是我做错了什么?
我用一个简单的add_edge(c[0],c[1],weight = my_values) 添加边,其中
c[0],c[1] 是字符串(节点的名称)和 my_values 整数,在 for 循环中。这是结果边缘的示例:
('first node label', 'second node label', {'weight': 14})
(节点的数量并不重要——现在我只保留 20 个)
我的图表的边列表是一个元组列表,带有 (string_node1,string_node2,weight_dictionary) - 一切看起来都很好,因为我还能够绘制/保存/读取/图表...
为什么?:
-
nx.degree_centrality给我全1? -
nx.closeness_centrality给我全1?
示例:
{'first node name': 1.0,
...
'last node name': 1.0}
感谢您的帮助。
【问题讨论】:
-
如果您发布一个完整的(非)工作示例,将更容易发现问题所在。
-
是的,我明白,但我有点害怕数据的敏感性——真实人物的名字,还活着。我可以说我刚刚通过将
weight='weight'添加到nx.clustering、nx.degree_assortativity_coefficient和nx.betweenness_centrality来解决这个“问题”...这就是为什么我想知道我是否真的能获得加权度 i> 使用已实现的功能...可能我必须定义自己的功能,以便计算加权度...即使这对我来说有点奇怪