Aller au contenu
Apprendre.
  • M1 · toutes les matières15 matières : Préparation de données, API & sécurité, CI/CD, Docker, Merise, Dataviz, KNIME, ML appliqué : projet LoL, SQL & UML, SQL avancé, Machine Learning, Git, IA frugale & responsable, Qualité des données, MathématiquesAnnée
  • M2 · toutes les matières4 matières : Deep Learning, AI Act, Comex & Fundraising, Gouvernance & DataMeshAnnée
  • Deep LearningM2 · 4 modules · Réseaux de neurones, CNN, texte, modèles génératifs.Matière
  • Préparation de donnéesM1 · 3 modules · Nettoyer, transformer et fusionner des données avec Python.Matière
  • API & sécuritéM1 · 2 modules · Consommer, concevoir et sécuriser des API.Matière
  • CI/CDM1 · 1 module · Intégration et livraison continues.Matière
  • DockerM1 · 3 modules · Conteneurs, images, volumes, réseaux, Compose.Matière
  • MeriseM1 · 2 modules · Modéliser une base : MCD, MLD, MPD.Matière
  • DatavizM1 · 2 modules · Visualiser pour comprendre et décider.Matière
  • KNIMEM1 · 1 module · Explorer et nettoyer des données en workflow.Matière
  • ML appliqué : projet LoLM1 · 2 modules · Du besoin métier au POC de vision par ordinateur.Matière
  • SQL & UMLM1 · 3 modules · Modèles UML et requêtes SQL.Matière
  • SQL avancéM1 · 3 modules · Jointures, fenêtres, CTE, optimisation.Matière
  • Machine LearningM1 · 3 modules · Régression, classification, segmentation, projet.Matière

↑↓ naviguer↵ ouvre le résultat en surbrillanceesc fermer

Partie 2 · Dates

Les variables temporelles

Une date lue d'un fichier est du texte. Il faut la convertir pour calculer dessus.

BesoinpandasPython pur
Convertirpd.to_datetime(col, format=...)datetime.strptime(txt, fmt)
Dates invalideserrors='coerce' → NaTtry/except ValueError → None
Composantes.dt.year/.month/.day/.dayofweek/.hourd.year, d.month, d.weekday(), d.hour
Deltadifférence de deux dates → timedelta, .dt.total_seconds()soustraction → timedelta, .total_seconds()

Le paramètre format est crucial quand le format n'est pas standard : 26/10/2023 se lit %d/%m/%Y et 2023-10-28 14:30 se lit %Y-%m-%d %H:%M. Sans lui, 03/04/2023 est ambigu (3 avril ou 4 mars ?). Le jour de la semaine suit la convention : dayofweek = 0 pour lundi … 6 pour dimanche, comme weekday().

Fuseaux horaires : un datetime est naïf (sans fuseau) ou conscient (aware). tz_localize() ajoute un fuseau à une série naïve ; tz_convert() convertit une série consciente vers un autre fuseau. Crucial pour des journaux d'événements mondiaux.

Vérifie que tu as compris

Quel format lit la date 26/10/2023 ?

Vérifie que tu as compris

Quelle est la différence entre tz_localize et tz_convert ?

À toi de coder

Convertir, extraire, comparer

Convertis les dates texte au format JJ/MM/AAAA en objets datetime ; une date invalide doit devenir None (équivalent de errors='coerce'). Extrais ensuite l'année, repère les week-ends (samedi = 5, dimanche = 6) et calcule l'écart en jours avec la date de référence ref.

Ctrl/⌘+Entrée

Indicateurs temporels

On crée souvent des features à partir des dates : ancienneté (écart à une date de référence), delta entre deux événements (en heures : total_seconds() / 3600), jour de la semaine, indicateur week-end. Attention : .days d'un timedelta ne donne que la partie « jours » ; pour des heures, passer par total_seconds().

Vérifie que tu as compris

Un écart de 1 jour et 6 heures : que vaut total_seconds() / 3600 ?