ComeçarComece de graça

Limpar dados de horário de verão com fold

Como acabamos de descobrir, tem uma viagem no nosso conjunto de dados que tá sendo afetada pela mudança do horário de verão. Vamos limpar o conjunto de dados para que tenhamos realmente uma duração mínima correta da viagem. A gente pode usar o fato de saber que o fim da viagem rolou depois do começo pra consertar a duração que ficou toda bagunçada por causa da mudança do horário de verão.

Como o Python não lida com a ambiguidade de data e hora ( tz.enfold() ) ao fazer cálculos aritméticos, precisamos colocar nossos objetos de data e hora no formato UTC, onde as ambiguidades já foram resolvidas.

onebike_datetimes Já está carregado e no fuso horário certo. tz e timezone foram importados. Use tz.UTC para o fuso horário.

Este exercício faz parte do curso

Trabalhando com datas e horas em Python

Ver curso

Instruções do exercício

  • Complete a instrução ` if para que seja verdadeira apenas quando o start ` de um passeio vier depois do seu ` `end``.
  • Quando start vem depois de end, ligue para tz.enfold() no número end para saber que se refere ao que vem depois da mudança do horário de verão.
  • Depois da instrução ` if `, converta o início e o fim para UTC para poder fazer uma comparação correta.

Exercício interativo prático

Experimente este exercício completando 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 o código