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

fold के साथ daylight saving डेटा साफ करना

जैसा कि आपने अभी देखा, हमारे डेटा सेट में एक राइड Daylight Savings शिफ्ट की वजह से गड़बड़ा रही है. आइए डेटा सेट को साफ करें ताकि हमारे पास सही न्यूनतम राइड लंबाई हो. हम इस तथ्य का उपयोग कर सकते हैं कि राइड का अंत शुरुआत के बाद ही हुआ था, ताकि Daylight Savings से बाहर आने पर बिगड़ी हुई duration को ठीक किया जा सके.

क्योंकि Python गणित करते समय tz.enfold() को हैंडल नहीं करता, हमें अपने datetime ऑब्जेक्ट्स को UTC में बदलना होगा, जहाँ अस्पष्टताएँ सुलझ चुकी होती हैं.

onebike_datetimes पहले से लोड है और सही timezone में है. tz और timezone इम्पोर्ट किए जा चुके हैं. टाइमज़ोन के लिए tz.UTC का उपयोग करें.

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

Python में Dates और Times के साथ काम करना

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

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

  • if स्टेटमेंट को ऐसा पूरा करें कि वह तभी true हो जब किसी राइड का start, उसके end के बाद आता हो.
  • जब start, end के बाद हो, तो end पर tz.enfold() कॉल करें ताकि आपको पता हो कि यह daylight savings time बदलने के बाद वाला समय है.
  • if स्टेटमेंट के बाद, सही तुलना करने के लिए start और end को UTC में कन्वर्ट करें.

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

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

trip_durations = []
for trip in onebike_datetimes:
  # When the start is later than the end, set the fold to be 1
  if ____ > ____:
    trip['end'] = tz.____(trip['end'])
  # Convert to UTC
  start = trip['start'].____
  end = trip['end'].____

  # Subtract the difference
  trip_length_seconds = (end-start).total_seconds()
  trip_durations.append(trip_length_seconds)

# Take the shortest trip duration
print("Shortest trip: " + str(min(trip_durations)))
कोड संपादित करें और चलाएँ