ComeçarComece gratuitamente

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

Ver Curso

Instruções de exercício

  • Complete a afirmação if para que seja verdadeira somente quando o start de um passeio vier depois de seu end.
  • Quando start estiver depois de end, chame tz.enfold() no end 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)))
Editar e executar código