将向量值属性添加到networkx中的边缘

时间:2016-10-18 21:51:37

标签: python graph networkx

我想添加一个列表,比如说[1,2,3]到有向网络X图中的每个边缘。有任何想法吗?我发现这样的事情可以用于节点(使用np.array),但它不适用于边缘。

1 个答案:

答案 0 :(得分:2)

您可以在将边缘放入网络时添加属性。

import networkx as nx
G=nx.Graph()
G.add_edge(1,2, values = [1,2,3])
G.add_edge(2,3, values = ['a', 'b', 'c'])
G.edge[1][2]['values']
> [1, 2, 3]
G.edges(data = True)
> [(1, 2, {'values': [1, 2, 3]}), (2, 3, {'values': ['a', 'b', 'c']})]
G.get_edge_data(1,2)
> {'values': [1, 2, 3]}

或事后

G.add_edge(4,5)
G.edge[4][5]['values'] = [3.14, 'parrot', 'shopkeeper']
G.edge[5][4]
> {'values': [3.14, 'parrot', 'shopkeeper']}