辺に重みを指定する
グラフの辺には重みを追加できます。通常は辺の「強さ」を表します。NetworkX では、重みはメタデータ辞書の 'weight' キーで表されます。
演習に進む前に、IPython シェルで T の辞書メタデータにアクセスして確認してみてください。たとえば T.edges[1, 10] を実行し、その後に T.edges[10, 1] を実行します。フィールドが 1 つだけであることに注目してください。これから 'weight' という新しいフィールドを追加していきます。
この演習はコースの一部です
Pythonで学ぶネットワーク分析入門
演習の手順
Tのノード1と10の間の辺の'weight'属性を2に設定します。辺の属性を設定するためのテンプレートは次のとおりです:network_name.edges[node1, node2]['attribute'] = value。ここでの'attribute'は'weight'です。- ノード
293が関与するすべての辺の重みを1.1に設定します。次のように実施します。forループを使って、metadataを含むTのすべての辺を反復処理します。- もしノードのリスト
[u, v]に293が含まれていれば、uとvの間の辺の重みを1.1に設定します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Set the weight of the edge
____ = 2
# Iterate over all the edges (with metadata)
for u, v, d in ____:
# Check if node 293 is involved
if 293 in ____:
# Set the weight to 1.1
____ = 1.1