शुरू करेंमुफ़्त में शुरू करें

एज पर समय-आधारित फ़िल्टर

अब आप edges पर लागू की गई conditional का उपयोग करके ग्राफ़ को फ़िल्टर करने का अभ्यास करेंगे. इससे आपको ऐसी list comprehensions के साथ सहजता होगी जिनमें conditionals शामिल हों.

अभ्यास में मदद के लिए ध्यान रखें कि आप datetime मॉड्यूल से datetime ऑब्जेक्ट्स इम्पोर्ट कर सकते हैं. ग्राफ़ में metadata में date key होती है, जिसकी value एक datetime ऑब्जेक्ट है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

इंटरमीडिएट Network Analysis in Python

पाठ्यक्रम देखें

अभ्यास निर्देश

  • G_sub नाम का एक नया ग्राफ़ बनाएँ.
  • .add_nodes_from() मेथड का उपयोग करके मूल ग्राफ़ से नोड्स (नोड metadata सहित) जोड़ें.
  • edges को एक list comprehension के साथ जोड़ें, जिसमें edge की तारीख पर एक conditional हो: edge की तारीख 2004-05-16 से पहले हो. ऐसा करने के लिए:
    • .add_edges_from() मेथड का उपयोग करें और आर्ग्युमेंट के रूप में list comprehension दें.
    • list comprehension का आउटपुट expression (u, v, d) हो. G की सभी edges पर iterate करें और जाँचें कि d['date'] datetime(2004, 5, 16) से कम है.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

import networkx as nx
from datetime import datetime

# Instantiate a new graph: G_sub
G_sub = ____

# Add nodes from the original graph
____

# Add edges using a list comprehension with one conditional on the edge dates, that the date of the edge is earlier than 2004-05-16.
G_sub.____([(____, ____, ____) for u, v, d in G.edges(data=True) if d['____'] < ____(____,____,____)])
कोड संपादित करें और चलाएँ