ComenzarEmpieza gratis

Limpiar datos de ahorro de luz diurna con pliegue

Como acabamos de descubrir, hay un viaje en nuestro conjunto de datos que se está estropeando por el cambio de horario de verano. Limpiemos el conjunto de datos para tener realmente una longitud mínima de recorrido correcta. Podemos utilizar el hecho de que sabemos que el final del viaje ocurrió después del principio para arreglar la duración estropeada por el cambio del horario de verano.

Como Python no maneja tz.enfold() al hacer aritmética, debemos poner nuestros objetos datetime en 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 de ejercicio

  • Completa la afirmación if para que sea cierta sólo cuando el start de un viaje vaya después de su end.
  • Cuando start está después de end, llama a tz.enfold() en end para que sepas que se refiere al que está después del cambio de horario de verano.
  • Después de la declaración if, convierte el inicio y el final a UTC para que puedas hacer una comparación adecuada.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este 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