使用 Python Networkx,我正在創建一個城市及其人口的圖表。
#Graph Creation
my_Graph = nx.DiGraph()
my_Graph.add_nodes_from([
("S1", {"Population": 100}),
("S2", {"Population": 200}),
("S3", {"Population": 300})])
my_Graph.add_edge("S1", "S2", capacity=50)
my_Graph.add_edge("S2", "S1", capacity=30)
my_Graph.add_edge("S2", "S3", capacity=70)
my_Graph.add_edge("S3", "S2", capacity=50)
my_Graph.add_edge("S1", "S3", capacity=55)
當我使用以下方式列印城市串列時:
print("The cities are :", my_Graph.nodes)
我的輸出是
城市是:['S1', 'S2', 'S3']
我想要一個映射函式,將城市(節點)映射到網路中的索引。
uj5u.com熱心網友回復:
根據您的評論,我認為這可能就是您所追求的。
使用內置的convert_node_labels_to_integers,您可以執行以下操作(假設您希望按照注釋中的指示從 1 開始標記):
my_Graph = nx.convert_node_labels_to_integers(my_Graph, first_label = 1)
my_Graph.nodes()
>>>[1, 2, 3]
my_Graph.edges()
>>>[(1, 2), (1, 3), (2, 1), (2, 3), (3, 2)]
節點被轉換為整數,并且邊保持在具有更新名稱的正確節點之間。如果需要,也會保留節點和邊的屬性。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/518405.html
