Limpeza de dados do horário de verão com dobra
Como acabamos de descobrir, há um passeio em nosso conjunto de dados que está sendo bagunçado por uma mudança no horário de verão. Vamos limpar o conjunto de dados para que você tenha um comprimento mínimo de viagem correto. Podemos usar o fato de que sabemos que o final da viagem aconteceu depois do início para corrigir a duração alterada pela mudança do horário de verão.
Como o Python não lida com tz.enfold()
ao fazer aritmética, precisamos colocar nossos objetos datetime em UTC, onde as ambiguidades foram resolvidas.
onebike_datetimes
já está carregado e no fuso horário correto. tz
e timezone
foram importados. Use tz.UTC
para o fuso horário.
Este exercício faz parte do curso
Trabalhando com datas e horários em Python
Instruções de exercício
- Complete a afirmação
if
para que seja verdadeira somente quando ostart
de um passeio vier depois de seuend
. - Quando
start
estiver depois deend
, chametz.enfold()
noend
para que você saiba que se refere àquele após a mudança do horário de verão. - Após a declaração
if
, converta o início e o fim para UTC para que você possa fazer uma comparação adequada.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
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)))