始める無料で始める

サブグラフ II

前の演習では、特定のノードの近傍を抽出していただきました。

今回は、特定のメタデータを持つノードとその近傍を抽出する演習をもう一度行います。これは、リスト内包表記でノードを見つける方法の復習にもなります。さらに、これまでに書いた関数を組み合わせて使う力も養えます。

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

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

コースを見る

演習の手順

  • リスト内包表記を使って、メタデータ 'occupation''celebrity' のノードとその近傍を抽出します。
    • リスト内包表記の 出力式n反復変数nd の2つです。イテラブルT のノード一覧(メタデータを含めるために data=True を指定できます)で、条件式はメタデータ辞書 d'occupation' キーが 'celebrity' に等しいことです。
  • 抽出したノードを新しいサブグラフ T_sub に入れます。次の手順で行います。
    • 各ノードについて近傍を計算し、.union() メソッドを使ってそれらをノード集合 nodeset に追加します。この部分はすでに用意してあります。
    • nodesetT.subgraph() メソッドを使って T_sub を計算します。
  • T_sub を画面に描画します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Extract the nodes of interest: nodes
nodes = [n for n, d in ____ if ____ == ____]

# Create the set of nodes: nodeset
nodeset = set(nodes)

# Iterate over nodes
for n in ____:

    # Compute the neighbors of n: nbrs
    nbrs = ____

    # Compute the union of nodeset and nbrs: nodeset
    nodeset = nodeset.union(nbrs)

# Compute the subgraph using nodeset: T_sub
T_sub = ____

# Draw T_sub to the screen
____
plt.show()
コードを編集して実行