BaşlayınÜcretsiz başlayın

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

Kursa Göz Atın

Egzersiz talimatları

  • if ifadesini, yalnızca bir sürüşün start zamanı end zamanı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çin end üzerinde tz.enfold() çağır.
  • if ifadesinden 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)))
Kodu Düzenle ve Çalıştır