我正在使用psycopg2从Postgres数据库中检索到的数据构建networkx图。我可以很好地创建图形,但我想知道是否有一种更有效和/或Python式的方法来完成它。在
当前代码:
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边缘。也许是zip之类的?为了满足我对未来的好奇和满足。在
假设我正确地理解了“cur”的数据结构:您应该能够将其转换为数组,然后切片以获得紧凑的表示法。例如:
add_edges_from()还为您节省了for循环“麻烦”:) 像这样,边现在是:
^{pr2}$我要找的是你的希望。在
相关问题 更多 >
编程相关推荐