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
Instrucciones de ejercicio
- Completa la afirmación
if
para que sea cierta sólo cuando elstart
de un viaje vaya después de suend
. - Cuando
start
está después deend
, llama atz.enfold()
enend
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)))