Im使用Python2.7和networkx,im使用convert_node_labels_to_integers。它很好地完成了它的主要工作。如果我要求它不要丢弃旧标签,我就得不到我所期望的东西。
g = nx.Graph()
g.add_edge('a','b')
g2 = nx.convert_node_labels_to_integers(g, discard_old_labels=False)
print g2[0]当我认为g2现在会有一个带有旧标签的属性'old_labels‘时,它没有属性。
我做错了什么吗?我是不是误解了它的工作原理?我一定错过了一些简单的东西。
谢谢
发布于 2013-06-05 21:46:07
旧标签存储在图属性- node_labels中。
print g2.node_labels
{'a': 0, 'b': 1}发布于 2013-06-06 19:44:48
在NetworkX的最新(开发中,很快将是networkx-1.8)版本中,这是不同的处理方式。旧标注可以选择性地存储为结点属性
In [1]: import networkx as nx
In [2]: G = nx.Graph([('a','b'),('b','c')])
In [3]: H = nx.convert_node_labels_to_integers(G,label_attribute='old_label')
In [4]: H.node
Out[4]: {0: {'old_label': 'a'}, 1: {'old_label': 'c'}, 2: {'old_label': 'b'}}https://stackoverflow.com/questions/16940037
复制相似问题