我正在使用图形工具来计算一些集中度度量。
from graph_tool.all import *
graph = Graph(directed=True)
在执行此操作之前,我需要初始化边缘属性。我正在执行以下操作:
weight = graph.new_edge_property('double')
graph.edge_properties['weight'] = weight
添加边缘(来自数据框)。数据框还具有列权重。
edges = df[['source', 'target']].values
graph.add_edge_list(edges, hashed=True, eprops=[weight])
我想使用一种比这种方法更有效的方法来初始化边缘属性(我想避免循环):
weight = df[['weight']].values
for edge in graph.get_edges():
graph.edge_properties["weight"][edge] = weight[graph.edge_index[edge]]
能否请您提出一种更有效的初始化边缘属性的方法? 该图是基于非常大的数据框(3000万行)构建的。