การกำหนดน้ำหนักให้กับ edge
สามารถเพิ่มน้ำหนัก (weight) ให้กับ edge ในกราฟได้ ซึ่งโดยทั่วไปแล้วน้ำหนักจะบ่งบอกถึง "ความแข็งแกร่ง" ของ edge นั้น ใน NetworkX น้ำหนักจะถูกระบุด้วย key ชื่อ 'weight' ในดิกชันนารี metadata
ก่อนเริ่มทำแบบฝึกหัด ให้ใช้ IPython Shell เพื่อดู metadata ของ T ในรูปแบบดิกชันนารี ตัวอย่างเช่น ลองรันคำสั่ง T.edges[1, 10] และ T.edges[10, 1] สังเกตว่ามีเพียงหนึ่ง field เท่านั้น และในแบบฝึกหัดนี้จะเพิ่ม field ใหม่ชื่อ 'weight' เข้าไป
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์เครือข่ายเบื้องต้นด้วย Python
คำแนะนำการฝึกหัด
- กำหนด attribute
'weight'ของ edge ระหว่าง node1และ10ในTให้มีค่าเท่ากับ2โดยอ้างอิงรูปแบบนี้:network_name.edges[node1, node2]['attribute'] = valueซึ่ง'attribute'ในที่นี้คือ'weight' - กำหนดน้ำหนักของทุก edge ที่เกี่ยวข้องกับ node
293ให้มีค่าเท่ากับ1.1โดยทำดังนี้:- ใช้
forloop วนซ้ำผ่านทุก edge ของTพร้อมกับmetadata - หาก
293ปรากฏอยู่ในรายการ node[u, v]:- กำหนดน้ำหนักของ edge ระหว่าง
uและvเป็น1.1
- กำหนดน้ำหนักของ edge ระหว่าง
- ใช้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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