LoslegenKostenlos loslegen

Säuberung der Sommerzeitdaten mit „fold“

Wie wir gerade rausgefunden haben, gibt's in unserem Datensatz eine Fahrt, die durch die Umstellung auf Sommerzeit durcheinandergebracht wird. Lass uns den Datensatz aufräumen, damit wir eine korrekte Mindestfahrstrecke haben. Wir können die Tatsache nutzen, dass wir wissen, dass das Ende der Fahrt nach dem Start war, um die durch die Umstellung auf Sommerzeit durcheinandergebrachte Dauer zu korrigieren.

Da Python bei der Arithmetik nicht mit „ tz.enfold() “ (Zeitzonenabhängige Datums-/Zeitangaben) umgehen kann, müssen wir unsere Datums-/Zeitobjekte in UTC umwandeln, wo Mehrdeutigkeiten beseitigt wurden.

onebike_datetimes ist schon geladen und in der richtigen Zeitzone. tz und timezone wurden importiert. Benutze tz.UTC für die Zeitzone.

Diese Übung ist Teil des Kurses

Arbeiten mit Datums- und Zeitangaben in Python

Kurs anzeigen

Anleitung zur Übung

  • Vervollständige die Aussage „ if “, sodass sie nur dann stimmt, wenn die „ start “ einer Fahrt nach der „ end “ kommt.
  • Wenn start nach end kommt, schau mal bei tz.enfold() auf end rein, damit du weißt, dass es sich um das Datum nach der Zeitumstellung handelt.
  • Nach der Anweisung „ if “ musst du den Start- und Endzeitpunkt in UTC umrechnen, damit du richtig vergleichen kannst.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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)))
Code bearbeiten und ausführen