ComenzarEmpieza gratis

Limpieza de datos de horario de verano con fold

Como acabamos de descubrir, hay un recorrido en nuestro conjunto de datos que se ve afectado por el cambio al horario de verano. Limpiemos el conjunto de datos para que tengamos una duración mínima correcta del trayecto. Podemos aprovechar el hecho de que sabemos que el final del trayecto tuvo lugar después del inicio para corregir la duración alterada por el cambio horario.

Dado que Python no gestiona la ambigüedad de hora ( tz.enfold() ) al realizar operaciones aritméticas, debemos convertir nuestros objetos de fecha y hora a UTC, donde se han resuelto las ambigüedades.

onebike_datetimes Ya está cargado y en la zona horaria correcta. Se han importado tz y timezone. Utiliza tz.UTC para la zona horaria.

Este ejercicio forma parte del curso

Trabajar con fechas y horas en Python

Ver curso

Instrucciones del ejercicio

  • Completa la expresión « if » para que sea verdadera solo cuando el « start » de un viaje venga después de su « end ».
  • Cuando start aparece después de end, llama a tz.enfold() en end para saber que se refiere al que aparece después del cambio de horario de verano.
  • Después de la instrucción « if », convierte el inicio y el final a UTC para poder realizar una comparación adecuada.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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)))
Editar y ejecutar código