始める無料で始める

辺に重みを指定する

グラフの辺には重みを追加できます。通常は辺の「強さ」を表します。NetworkX では、重みはメタデータ辞書の 'weight' キーで表されます。

演習に進む前に、IPython シェルで T の辞書メタデータにアクセスして確認してみてください。たとえば T.edges[1, 10] を実行し、その後に T.edges[10, 1] を実行します。フィールドが 1 つだけであることに注目してください。これから 'weight' という新しいフィールドを追加していきます。

この演習はコースの一部です

Pythonで学ぶネットワーク分析入門

コースを見る

演習の手順

  • T のノード 110 の間の辺の 'weight' 属性を 2 に設定します。辺の属性を設定するためのテンプレートは次のとおりです: network_name.edges[node1, node2]['attribute'] = value。ここでの 'attribute''weight' です。
  • ノード 293 が関与するすべての辺の重みを 1.1 に設定します。次のように実施します。
    • for ループを使って、metadata を含む T のすべての辺を反復処理します。
    • もしノードのリスト [u, v]293 が含まれていれば、
      • uv の間の辺の重みを 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
コードを編集して実行