fold ile yaz saati verisini temizleme
Az önce keşfettiğimiz gibi, veri kümemizde Yaz Saati uygulamasındaki bir kayma yüzünden bozulan bir sürüş var. En kısa sürüş süresini doğru şekilde bulabilmek için veri kümesini temizleyelim. Sürüşün sonunun başlangıçtan sonra gerçekleştiğini bildiğimiz gerçeğinden yararlanarak Yaz Saatinden çıkış nedeniyle bozulan süreyi düzeltebiliriz.
Python, aritmetik yaparken tz.enfold() ile çalışmadığından, belirsizliklerin giderildiği UTC'ye dönüştürmemiz gerekiyor.
onebike_datetimes zaten yüklü ve doğru saat diliminde. tz ve timezone içe aktarıldı. Saat dilimi olarak tz.UTC kullan.
Bu egzersiz, kursun bir parçasıdır
Python'da Tarihler ve Saatlerle Çalışmak
Egzersiz talimatları
ififadesini, yalnızca bir sürüşünstartzamanıendzamanından sonra olduğunda doğru olacak şekilde tamamla.start,end'den sonra ise, Yaz Saati değişiminden sonraki zamana atıfta bulunduğundan emin olmak içinendüzerindetz.enfold()çağır.ififadesinden sonra, doğru bir karşılaştırma yapabilmek için başlangıç ve bitiş zamanlarını UTC'ye dönüştür.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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)))