Python data science - niveau avancé
- Stage
- Actions régionales
- Informatique
- LEGOUT Arnaud
Objectifs
Pandas est incontournable en data science Python — mais il montre ses limites dès que les volumes de données augmentent : consommation mémoire excessive, exécution mono-thread, API parfois incohérente. Cette formation vous donne les outils pour dépasser ces limites. Vous découvrirez Polars, la librairie qui redéfinit la manipulation de données en Python : API moderne et cohérente, calculs massivement parallèles, gestion mémoire optimisée, et capacité à traiter des datasets qui dépassent la RAM disponible grâce à son streaming engine. Vous apprendrez également le format Parquet pour un stockage colonnaire haute performance, Numba pour accélérer vos calculs numériques critiques avec compilation JIT, et le multiprocessing Python pour exploiter pleinement les processeurs multi-cœurs
À l’issue de cette formation, vous serez capable de :
• Écrire ou réécrire vos traitements en Polars pour des gains de vitesse significatifs
• Traiter des datasets qui dépassent la RAM disponible grâce au streaming engine de Polars
• Lire et écrire des fichiers Parquet avec Polars et PyArrow pour un stockage et des échanges
de données efficaces
• Accélérer vos calculs numériques avec Numba et la compilation JIT
• Paralléliser des tâches CPU-bound indépendantes avec le module multiprocessing
• Choisir la bonne stratégie de performance selon le contexte : Polars, Numba ou
multiprocessing
• Appliquer les meilleures pratiques de manipulation de données haute performance en Python
Public
Data scientists, ingénieurs, chercheurs, post-doctorants, doctorants utilisant pandas et souhaitant améliorer les performances de leurs traitements
Pré-requis
Niveau intermédiaire en Python requis : fonctions, itération, espaces de nommage, importation de modules (équivalent à la formation « Python par la pratique »). Niveau intermédiaire en Pandas et NumPy recommandé (équivalent à la formation « Python data science »)
Programme
Programme détaillé
Module 1
Polars — le remplaçant moderne de pandas
• Architecture de Polars : moteur en Rust, parallélisme natif, Apache Arrow
• API de base : Series, DataFrame, opérations essentielles
• Lazy evaluation et query optimization : écrire des requêtes efficaces
• Streaming engine : traiter des données qui dépassent la RAM
• Expressions Polars : l’API la plus puissante pour la manipulation de données
• Format Parquet : lecture et écriture avec Polars, compression, partitionnement, interopérabilité avec PyArrow et Pandas
• Migration de pandas vers Polars : stratégies et équivalences
• Benchmark comparatif pandas vs Polars sur des cas réels
Module 2
Numba — accélération JIT pour le calcul numérique
• Principe de la compilation JIT avec Numba
• Décorateurs @jit et @njit : quand et comment les utiliser
• Accélération de boucles et de fonctions NumPy
• Parallélisation avec @njit(parallel=True) et prange
• Cas d’usage : simulation numérique, traitement de signaux, calcul scientifique
• Limites de Numba et bonnes pratiques
Module 3
Multiprocessing — parallélisme multi-processus en Python
• Le GIL Python et ses implications pour le parallélisme CPU-bound
• Le module multiprocessing : Process, Pool, Queue, Pipe
• Pool.map() et Pool.starmap() : parallélisation de tâches indépendantes
• Partage de mémoire et communication entre processus
• Comparaison multiprocessing vs Numba vs Polars : quand utiliser quoi
• Pièges courants et débogage de code multiprocessing
Méthodes pédagogiques
La formation alterne exposés théoriques courts et exercices pratiques sur notebooks Jupyter.
Chaque concept est immédiatement mis en application. Une attention particulière est portée aux techniques les plus récentes et aux bonnes pratiques issues de l’expérience terrain.
Sessions à venir 1
Data science haute performance en Python : Polars, Numba, Multiprocessing — manipulation avancée de données
- A DISTANCE
- Visio conférence
- 21 heure(s) sur 3 jour(s)
- 9h00 - 17h00
- 10 inscriptions max.
- € 360 à 720€ agents non CNRS
-
Clôture des inscriptions dans 3 mois
Partenaires
CNRS
Informations pratiques
06 905 SOPHIA ANTIPOLIS CEDEX