1. 学ぶ
  2. /
  3. コース
  4. /
  5. Python 中級ネットワーク解析

Connected

演習

グラフのリスト

この演習セットでは、大学内のメッセージ送受信データセットを使って、時系列解析のためにグラフをフィルタリングする方法を学びます。このデータセットでは、ノードは学生、エッジはある学生から別の学生へ送られたメッセージを表します。現在のグラフは、すべての時点での全コミュニケーションを含んでいます。

まずは、時間とともにエッジだけが変化するグラフを分析していきましょう。

データセットは data という DataFrame に読み込まれています。IPython シェルで自由に確認してみてください。特に、data['sender'] と data['recipient'] の出力をチェックしましょう。

指示

100 XP
  • Gs という名前の空のリストを初期化します。
  • for ループで months を反復します。ループ内で次を行います:
    • nx.Graph() 関数を使って、G という新しい無向グラフを作成します。
    • これまでに登場したすべてのノードをグラフに追加します。そのために、G に対して .add_nodes_from() を2回呼び出し、最初に data['sender']、次に data['recipient'] を引数として渡します。
    • DataFrame を指定の月の行だけにフィルタします。これはすでに用意されています。
    • フィルタ済みの DataFrame からエッジを追加します。そのために、.add_edges_from() に zip(df_filtered['sender'], df_filtered['recipient']) を渡します。
    • G をグラフのリスト Gs に追加します。