2016-05-26 8 views
-1

グラフに不規則な値を持つエッジをクリップしようとしていますが、これらのエッジに関連付けられた実際の値はnetworkxの外に保存されます。この種の刈り込み(100,000要素)を行うために、グラフのすべてのノードを繰り返し処理する予定です。ノードのエッジで反復する

import networkx as nx 
G=nx.Graph() 
G.add_node(1) 
G.add_node(2) 
G.add_node(3) 
G.add_edges_from([(1,2),(2,3)]) 
edges=G.get_edges_from_node(2) #(1,2),(2,3) 

私はこの機能を見つけることはできません。

+0

不規則な値はどういう意味ですか? – RafaelC

+0

@RafaelCardoso私の問題に固有の何か、私の場合、エッジは値を保持します( 'networkx'の外側)。ですから、ノードに至るエッジの値が '[1,2,3,999]'のように見えたら、最後の接続を削除します。 – Mikhail

+0

サンプル入力とサンプル出力を記述できますか?おそらく、単にG.edges(2)を探しているだけかもしれませんが、それは明確ではありません。 – Joel

答えて

1
import networkx as nx 
G=nx.Graph() 
G.add_node(1) 
G.add_node(2) 
G.add_node(3) 
G.add_edges_from([(1,2),(2,3)]) 

あなたは次のようにすべてのノードを反復処理することができます:エッジの属性として、

for n in G.node.items(): 
    print(n) 

(1, {}) 
(2, {}) 
(3, {}) 

ます。また、グラフの外にある自分の価値観を、追加することができますし、単にエッジ

を反復処理します
G2=nx.Graph() 
G2.add_node(1) 
G2.add_node(2) 
G2.add_node(3) 
G2.add_edges_from([(1,2, {'value': 1}),(2,3, {'value': 2})]) 

for edge in G2.edges(data=True): 
    print(edge) 

(1, 2, {'value': 1}) 
(2, 3, {'value': 2}) 
関連する問題