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
Instructions
- Complétez l'énoncé d'
ife pour qu'il soit vrai uniquement lorsque l'startd'un trajet se produit après sonend. - Lorsque
startsuitend, veuillez contactertz.enfold()à l'adresseendafin 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)))