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

Python'da Tarihler ve Saatlerle Çalışmak

kursunun bir parçasıdır
Kursu Görüntüle

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ı 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)))
Kodu Düzenle ve Çalıştır