為邊指定權重
你可以為圖中的邊加入權重(weight),通常用來表示邊的「強度」。在 NetworkX 中,權重是由中繼資料(metadata)字典裡的 'weight' 鍵來表示。
在開始練習前,請先在 IPython Shell 存取 T 的中繼資料字典並探索它,例如執行 T.edges[1, 10],接著再執行 T.edges[10, 1]。注意目前只有一個欄位;接下來你要新增另一個名為 'weight' 的欄位。
本練習屬於課程
Python 網路分析入門
練習說明
- 將
T中節點1與10之間那條邊的'weight'屬性設為2。你可以參考以下範本設定邊的屬性:network_name.edges[node1, node2]['attribute'] = value。這裡的'attribute'是'weight'。 - 將所有涉及節點
293的邊,其權重都設為1.1。作法如下:- 使用
for迴圈,走訪T的所有邊,且包含metadata。 - 如果
293出現在節點清單[u, v]中:- 將
u與v之間那條邊的權重設為1.1。
- 將
- 使用
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Set the weight of the edge
____ = 2
# Iterate over all the edges (with metadata)
for u, v, d in ____:
# Check if node 293 is involved
if 293 in ____:
# Set the weight to 1.1
____ = 1.1