始める無料で始める

pandas DataFrame からグラフを作成する

まずは pandas の DataFrame からグラフを作成してみましょう。この演習では、エッジリスト(DataFrame オブジェクト)をループしながら、新しい二部グラフを作成します。

簡単のため、このグラフ構築では、学生ノードとフォーラムノードの間の任意のエッジは、データセット全体の期間において、その学生がそのフォーラムに投稿した中で「最後(最新)」のエッジとします(回避する方法はあります)。

また、演習の実行時間を短縮するため、エッジリストをサブサンプルした版を data として用意しています。IPython Shell で中身を確認し、構造に慣れておきましょう。

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

Python 中級ネットワーク解析

コースを見る

演習の手順

  • G という名前の新しい Graph を作成します。
  • 各パーティションからノードを追加します。これには .add_nodes_from() メソッドを使います。2つのパーティションは 'student''forum' です。例えば 'student' パーティションのノードを追加する場合、.add_nodes_from() の引数は data['student']bipartite='student' になります。
  • 各エッジと、そのエッジが作成された日付を追加します。ループ内で .add_edge() を使い、引数に d['student']d['forum']date=d['date'] を指定してください。

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

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

import networkx as nx

# Instantiate a new Graph: G
G = ____

# Add nodes from each of the partitions
____
____

# Add in each edge along with the date the edge was created
for r, d in data.iterrows():
    ____ 
コードを編集して実行