簡體   English   中英

networkx.relabel.convert_node_labels_to_integers 解釋

[英]networkx.relabel.convert_node_labels_to_integers explanation

我有一個簡單的圖表,如下圖:

edge_list = [[1,1],[1,2],[1,3],[2,3]]

我想使用relabel.convert_node_labels_to_integers()方法來 label 具有連續整數的節點,如文檔中所述。 我對使用該方法的期望是以下字典:

{0: 0, 1: 1, 2: 2, 3:3}

但我得到以下信息:

{0: 0, 1: 1, 2: 2}

有人可以向我解釋為什么嗎? 謝謝

邊列表定義了三個節點, 1,2,3 (其中有四個邊)。

import networkx as nx

G = nx.Graph()

edge_list = [[1, 1], [1, 2], [1, 3], [2, 3]]

G.add_edges_from(edge_list)

print(G.nodes())  # [1, 2, 3]

GG = nx.relabel.convert_node_labels_to_integers(G)

print(GG.nodes())  # [0, 1, 2]

mapping = {k: GG.nodes[k]["old_id"] for k in GG.nodes()}
print(mapping) # {0: 1, 1: 2, 2: 3}

在您的 output 中,似乎在某些時候節點被(重新)命名為0,1,2 在這種情況下,重命名節點標簽將不起作用,因此字典鍵和值匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM