エッジリストを作る
同じ発想をエッジリストの作成にも適用してみましょう。さあ、挑戦してみてください!
前の演習と同様に、先に IPython シェルで list(G.edges(data=True))[0] を実行して、エッジリストのデータ構造を確認してから進めてください。
この演習はコースの一部です
Python 中級ネットワーク解析
演習の手順
- 各エッジを1件のレコードとして格納するため、
edgelistというリストを初期化します。 G_peopleのエッジをforループで反復処理します。ループ内で次を行います。- エッジ情報を表す
edgeinfoという辞書を初期化します。 - メタデータの辞書
dを使ってedgeinfoを更新します。 edgeinfoをedgelistに追加します。
- エッジ情報を表す
- エッジリストから pandas の DataFrame を作成し、
edge_dfと名付けます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Initialize a list to store each edge as a record: edgelist
edgelist = []
for n1, n2, d in G_people.edges(data=True):
# Initialize a dictionary that shows edge information: edgeinfo
edgeinfo = {'node1':____, 'node2':____}
# Update the edgeinfo data with the edge metadata
____
# Append the edgeinfo to the edgelist
____
# Create a pandas DataFrame of the edgelist: edge_df
edge_df = ____
print(edge_df.head())