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():
____