Graph_Tool - более эффективно инициализировать свойства ребер - PullRequest
0 голосов
/ 22 февраля 2019

Я использую graph-tool для вычисления некоторых показателей центральности.

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]]

Не могли бы вы предложить более эффективный способ инициализации свойств ребер? График построен из очень большого фрейма данных (30 миллионов строк).

...