Le passage de SAS vers Python

Durée
21 heures
Durée calendrier
4 semaines
Formule d'enseignement
En ligne

Clientèle cible

Cette formation s’adresse aux professionnels impliqués dans le traitement et l’analyse de données, qu’ils soient expérimentés en SAS et débutants en Python ou familiers avec Python et souhaitant comprendre les équivalences avec SAS.

Préalables

  • Formation Python impératif complétée (variables, types, structures de contrôle, fonctions, listes, dictionnaires, tuples, fichiers)
  • Connaissance de base de SAS (DATA step, procédures courantes)
  • Familiarité avec les concepts d'analyse de données

Description

Avec l’évolution des plateformes analytiques vers le Cloud, de nombreuses organisations font face à une augmentation significative des coûts liés à l’utilisation de solutions propriétaires telles que SAS Viya, ainsi qu’à des enjeux de souveraineté des données associés à la juridiction américaine (CLOUD Act). Dans ce contexte, la migration vers des outils libres et performants comme Python et sa bibliothèque pandas s’impose comme une stratégie incontournable pour assurer la pérennité et la maîtrise des traitements de données.
 
 Cette formation vise à accompagner les professionnels dans cette transition en leur fournissant les compétences nécessaires pour manipuler des données avec pandas et convertir les scripts SAS existants vers Python, tout en validant l’équivalence des résultats. Elle propose un nouveau paradigme de traitement des données, fondé sur les DataFrames et les opérations vectorisées, en substitution à la logique DATA step de SAS. À travers des capsules vidéo, des exercices pratiques et des séances d’accompagnement synchrones, les participants développeront progressivement leur autonomie dans l’utilisation de Python pour leurs traitements analytiques courants.

Matériel requis

  • Ordinateur portable avec droits d'installation
  • Connexion Internet stable (formation virtuelle)
  • Interpréteur Python
  • Environnement de développement Python (ex : PyCharm, VS Code)

Objectifs

  • Exploiter la bibliothèque pandas pour la manipulation de données
  • Convertir les principales fonctionnalités SAS vers Python (PROC TRANSPOSE, PROC MEANS, PROC FREQ, etc.)
  • Se connecter aux bases de données (SQL, ODBC)
  • Gérer des volumes importants de données avec pandas
  • Valider et comparer les résultats entre SAS et Python

Contenu

Module 1 - Introduction à pandas

Capsules à visionner: 

  • Rappel Python impératif - Variables, types et structures de contrôle
  • Rappel Python impératif - Fonctions et structures de données
  • Présentation de pandas et NumPy
  • Structure DataFrame : équivalent de la table SAS
  • Lecture de fichiers : CSV, Excel, SAS7BDAT
  • Exploration des données : head(), tail(), shape, info(), describe()
  • Sélection et filtrage : équivalents de KEEP, DROP, WHERE
  • Création de variables : calculs, conditions (np.where, np.select)

Séance en direct:

  • Retour sur les capsules et questions
  • Exercices guidés : tri et déduplication (équivalents de PROC SORT, NODUPKEY), gestion des valeurs manquantes
  • Premières notions de performance : types de données (dtype), empreinte mémoire (memory_usage()) 


Module 2 -  Opérations avancées sur les données 

Capsules à visionner: 

  • Agrégation avec groupby() et agg() - Équivalents de PROC MEANS, PROC SUMMARY
  • Statistiques descriptives par groupe
  • Tableaux croisés : crosstab(), pivot_table() - Équivalent de PROC FREQ
  • Comptages et distributions
  • Jointures avec merge() et concat() - Équivalents de MERGE, SET
  • Types de jointures : inner, left, right, outer
  • Transposition : pivot(), melt() - Équivalent de PROC TRANSPOSE
  • Cas pratiques de restructuration de données

Séance en direct:

  • Retour sur les capsules et questions
  • Exercices guidés sur des cas de conversion SAS vers Python (agrégation, jointures, transposition)
  • Discussion sur les différences de comportement entre SAS et pandas 


Module 3 -  Connexions aux données et performance

Capsules à visionner: 

  • Connexion ODBC avec pyodbc
  • SQLAlchemy : abstraction des connexions SQL
  • Lecture et écriture en base de données : read_sql(), to_sql()
  • Optimisation mémoire : lecture par chunks, types de données optimisés
  • Comparaison des comportements SAS et pandas sur des volumes similaires

Séance en direct:

  • Retour sur les capsules et questions
  • Exercices guidés sur les connexions et l'optimisation de la performance
  • Discussion sur les stratégies de traitement de gros volumes


Module 4 -  Validation et projet de migration

Capsules à visionner: 

  • Méthodologie de validation SAS vs Python
  • Comparaison de DataFrames et gestion des écarts
  • Outils de comparaison : df.equals(), assert_frame_equal()
  • Synthèse et ressources pour continuer à progresser

Séance en direct:

  • Retour sur les capsules et questions
  • Atelier pratique : migration d'un script SAS métier avec accompagnement du formateur
  • Validation croisée des résultats
  • Synthèse de la formation et plan de progression