เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การกำหนดน้ำหนักให้กับ 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 ระหว่าง node 1 และ 10 ใน T ให้มีค่าเท่ากับ 2 โดยอ้างอิงรูปแบบนี้: network_name.edges[node1, node2]['attribute'] = value ซึ่ง 'attribute' ในที่นี้คือ 'weight'
  • กำหนดน้ำหนักของทุก edge ที่เกี่ยวข้องกับ node 293 ให้มีค่าเท่ากับ 1.1 โดยทำดังนี้:
    • ใช้ for loop วนซ้ำผ่านทุก edge ของ T พร้อมกับ metadata
    • หาก 293 ปรากฏอยู่ในรายการ node [u, v]:
      • กำหนดน้ำหนักของ edge ระหว่าง 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
แก้ไขและรันโค้ด