1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶネットワーク分析入門

Connected

演習

グラフに自己ループがあるかを確認する

Eric が説明したように、NetworkX では同じノードで始まり同じノードで終わるエッジ(自己ループ)も扱えます。これはソーシャルネットワークのグラフとしては直感的ではないかもしれませんが、出発地点と到着地点を持つ移動(トリップ)ネットワークのようなデータをモデル化するのに有用です。

さらなる分析に進む前に、これを確認しておくと便利です。NetworkX にはそのためのメソッド nx.number_of_selfloops(G) が用意されています。

この演習および後続の演習では、assert 文が役に立ちます。assert は、その後に続く条件式が True かどうかを確認し、False の場合は AssertionError を送出します。

まずは IPython Shell で、nx.number_of_selfloops() に T を渡して、同じノードで始まり終わるエッジの数を取得してください。自己ループはいくつか人工的にグラフへ追加されています。この演習でのあなたの仕事は、これらのエッジを返す関数を書くことです。

指示

100 XP
  • 引数 G を1つ取る関数 find_selfloop_nodes() を定義します。
    • for ループを使って、G 内のすべてのエッジ(メタデータは除く)を走査します。
    • ノード u がノード v と等しい場合:
      • u をリスト nodes_in_selfloops に追加します。
      • リスト nodes_in_selfloops を返します。
  • グラフの自己ループの数が、自己ループを持つノードの数と等しいことを確認します。これはすでに用意してありますので、"Submit Answer" を押して結果を確認してください!