作为NetworkX graph导入后访问GraphML属性

2024-04-24 03:59:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个图形,以graphml格式存储,其中包括一组属性,比如

<key attr.name="label" attr.type="string" for="node" id="d0"/>

在一个节点上

^{pr2}$

我已经用nx.read_graphml('mygraph.graphml')导入了这个文件。我可以可视化图形(使用nx.draw_networkx(imported_graph)),并且可以再次导出它(使用nx.write_graphml(imported_graph, 'exported.txt', encoding='utf-8', prettyprint=True)),并且我看到所有属性都被保留了。在

我想通过访问节点的属性来处理它们。因此,我检查所有节点的属性如下:

^{3}$

我明白了

0
{}
1
{}

以此类推,所以没有节点有任何属性?我做错什么了?在


Tags: keyname图形forstring属性节点格式
1条回答
网友
1楼 · 发布于 2024-04-24 03:59:37

如何迭代networkx节点?在

创建节点

G = nx.Graph()
_ = [G.add_node(i, a=random.randint(1,10), b=random.randint(1,10), c=random.randint(1,10)) for i in range(20)]

迭代

^{pr2}$

[出来]:

(0, {'a': 5, 'b': 6, 'c': 10})
(1, {'a': 3, 'b': 4, 'c': 9})
(2, {'a': 4, 'b': 3, 'c': 4})
(3, {'a': 1, 'b': 5, 'c': 2})
(4, {'a': 10, 'b': 1, 'c': 6})
(5, {'a': 10, 'b': 10, 'c': 5})
(6, {'a': 8, 'b': 9, 'c': 9})
(7, {'a': 9, 'b': 7, 'c': 5})
(8, {'a': 1, 'b': 2, 'c': 10})
(9, {'a': 8, 'b': 6, 'c': 9})
(10, {'a': 2, 'b': 4, 'c': 8})
(11, {'a': 5, 'b': 8, 'c': 3})
(12, {'a': 1, 'b': 3, 'c': 8})
(13, {'a': 3, 'b': 8, 'c': 7})
(14, {'a': 5, 'b': 5, 'c': 7})
(15, {'a': 8, 'b': 6, 'c': 5})
(16, {'a': 2, 'b': 6, 'c': 5})
(17, {'a': 6, 'b': 8, 'c': 2})
(18, {'a': 10, 'b': 6, 'c': 10})
(19, {'a': 2, 'b': 9, 'c': 6})

相关问题 更多 >