psycopg2を使用してPostgres DBから取得したデータを使用してnetworkxグラフを作成しています。私はグラフをうまく作成することができますが、それを行うより効率的かつ/またはPython的な方法があるのだろうかと思います。psycopg2のクエリ結果からnetworkxグラフを効率的に作成するにはどうすればよいですか?
現在コード:
DG = nx.DiGraph()
cur.execute(edgeQuery)
for row in cur:
self.DG.add_edge(
row[0], # fnode
row[1], # tnode
weight=row[3], # cost
name=row[4]
)
networkxドキュメントは、複数のエッジがebunchに供給することにより、一度に作成することができる示しています。私はカーソルの結果を反復することでebunchを作成することができましたが、それは私の現在のソリューションより効率的ではありません。私は、カーソルの結果をnetworkxのエッジに変換するより効率的な方法が必要なように感じます。多分ジップのような何か?私は将来のメンテナンスを容易にするために(そして自分の好奇心を満たすために)それを行うための無限の方法を特定したいと思います。