始める無料で始める

bipartite キーワード

動画で Eric は 'bipartite' キーワードを紹介しました。このキーワードはノードのメタデータ辞書の一部で、ノードを追加するときにも、追加した後にも設定できます。ただし、定義上、二部グラフでは同じパーティション内のノード同士をつなぐことはできない点に注意してください。

ここでは、二部グラフで指定したパーティションに属するノードを返す関数を作成します。今回扱う Github の二部グラフでは、対象となるパーティションは 'projects''users' です。

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

Python 中級ネットワーク解析

コースを見る

演習の手順

  • 二部グラフ G とその partition を引数に取り、その partition に属するノードだけを返す関数 get_nodes_from_partition() を作成してください。
    • for ループを使って、メタデータではなく G のすべてのノードを反復処理します。
    • 現在のノードのメタデータ辞書から 'bipartite' キーワードにアクセスします。これが partition と等しければ、現在のノードをリスト nodes に追加します。
  • 作成した get_nodes_from_partition() 関数と len() 関数を組み合わせて、次を出力してください。
    • G'projects' パーティションにあるノードの数。
    • G'users' パーティションにあるノードの数。

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

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

# Define get_nodes_from_partition()
def ____:
    # Initialize an empty list for nodes to be returned
    nodes = []
    # Iterate over each node in the graph G
    for n in ____:
        # Check that the node belongs to the particular partition
        if G.nodes[n]['____'] == ____:
            # If so, append it to the list of nodes
            ____
    return nodes

# Print the number of nodes in the 'projects' partition
print(____(get_nodes_from_partition(____, '____')))

# Print the number of nodes in the 'users' partition
print(____(____))
コードを編集して実行