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)))