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
Python'da Tarihler ve Saatlerle Çalışmak
kursunun bir parçasıdırEgzersiz 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ı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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)))