CommencerCommencer gratuitement

Nettoyage des données relatives à l'heure d'été à l'aide de fold

Comme nous venons de le constater, notre ensemble de données contient un trajet qui est perturbé par le passage à l'heure d'été. Veuillez nettoyer l'ensemble de données afin que nous disposions d'une durée minimale de trajet correcte. Nous pouvons utiliser le fait que nous savons que la fin du trajet s'est produite après le début pour corriger la durée perturbée par le passage à l'heure d'hiver.

Étant donné que Python ne gère pas l'tz.enfold() e lors des opérations arithmétiques, il est nécessaire de convertir nos objets datetime en UTC, où les ambiguïtés ont été résolues.

onebike_datetimes est déjà chargé et dans le fuseau horaire approprié. tz et timezone ont été importés. Veuillez utiliser tz.UTC pour le fuseau horaire.

Cet exercice fait partie du cours

Utilisation des dates et des heures en Python

Afficher le cours

Instructions

  • Complétez l'énoncé d' if e pour qu'il soit vrai uniquement lorsque l' start d'un trajet se produit après son end.
  • Lorsque start suit end, veuillez contacter tz.enfold() à l'adresse end afin de vous assurer qu'il s'agit bien de la version postérieure au changement d'heure.
  • Après l'instruction « if », veuillez convertir le début et la fin en UTC afin de pouvoir effectuer une comparaison adéquate.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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)))
Modifier et exécuter le code