2017-01-28 4 views
0

単純なNetworkX重み付けグラフの中央値を計算することができません。
これは正常なのか、むしろ間違っているのですか?networkx重み付けグラフの中心点

Iは単純add_edge(c[0],c[1],weight = my_values)でエッジを追加する、ここ c[0],c[1]は、forループ内で、列(ノード名)とmy_values整数です。これは、得られたエッジの一例である:

('first node label', 'second node label', {'weight': 14}) 

(ノード数が問題で本当にdoes't - 今の私は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} 

感謝。

+0

完全な(非)動作例を投稿すると、問題の原因を簡単に発見できます。 – Aric

+0

ええ、私は理解しますが、私はデータの感性のために少し怖がっています - 実際の人々の名前、まだ生きています。私は 'nx.clustering'、' nx degrees_assortativity_coefficient'、 'nx.betweenness_centrality'に' weight = 'weight''を加えることでこの問題を解決したことが分かります。実際に実装された関数で_weighted degree_を取得します...おそらく私は自分自身を定義しなければなりません。これは重み付けされた次数を計算するためです... – jjrr

答えて

0

それは簡単だった:

代わりのnx.degree_centrality()を使用して、私は my_graph.degree(weight='weight')使用 - ...まだ私は、このモジュールでは、基本的な不足だと思う

...しかし、問題はまだ開いですnx.closeness_centrality

関連する問題