Référence : HBYDe7QQDkCQ
Durée : 21 h sur 3 j
Tarif
5 900 €
HT
Elara Formations
ANTIBES
Intra-Entreprise
Une formation intra-entreprise réunit dans une même session les salariés d'une seule entreprise. Elle se déroule généralement dans les locaux de l'entreprise. Le tarif est convenu pour la formation d'un groupe de salarié.
Pandas est incontournable en data science Python — mais ses limites se manifestent vite : consommation mémoire excessive, exécution mono-thread, API parfois incohérente. Cette formation donne à vos équipes les outils pour dépasser ces limites.

Polars redéfinit la manipulation de données en Python : moteur en Rust, parallélisme natif, lazy evaluation, et capacité à traiter des datasets qui dépassent la RAM disponible grâce à son streaming engine. C'est aujourd'hui le meilleur choix pour passer un pipeline data du prototype à la production.

J'utilise quotidiennement Polars dans mes propres travaux de recherche, notamment pour l'analyse de l'intégralité du graphe de transactions Bitcoin — 16,5 milliards de liens entre 1,5 milliard d'adresses, sur fichiers Parquet partitionnés. Cette formation est construite à partir de cette pratique : ce que j'aurais voulu savoir quand mes traitements Pandas prenaient des semaines et saturaient la RAM — et que passer à Polars les a ramenés à quelques heures.

Découvrez le programme de la formation Python data science haute performance — Polars, Numba et multiprocessing.

Détails de la formation

Méthodes et outils pédagogiques

La formation alterne exposés théoriques courts et exercices pratiques sur notebooks Jupyter. Chaque concept est immédiatement mis en application. J'attache une attention particulière à ce que chaque participant suive, quel que soit son niveau initial, et je calibre la profondeur de chaque sujet en fonction du groupe.

Les supports sont fournis aux participants à l'issue de la formation, accompagnés des notebooks d'exercices corrigés.

Objectifs de la formation

À l'issue de cette formation, vous saurez

  • Écrire ou réécrire leurs 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 efficaces
  • Accélérer leurs 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

Méthodes d'évaluation

Il n'y a pas d'évaluation dans cette formation.

Les plus

Pourquoi me confier la formation de vos équipes ?

Un chercheur qui pratique ce qu'il enseigne

Directeur de Recherche à Inria, j'utilise Python depuis plus de 20 ans dans mes propres travaux de recherche, sur des données à très grande échelle : analyse complète du graphe social de Twitter (505 millions de comptes, 23 milliards de liens), traitement de l'intégralité du graphe de transactions Bitcoin (16,5 milliards de liens, 1,5 milliard d'adresses), mesures massives d'exposition aux ondes radio. Ces travaux ont donné lieu à une couverture par le New York Times, le Washington Post, Fortune et Le Monde. Quand j'enseigne Polars, le streaming engine ou les pièges du parallélisme, ce sont les outils que j'utilise au quotidien.

Une pédagogie rodée sur 200 000 apprenants

Co-créateur en 2014 avec Thierry Parmentelat du MOOC Python sur la plateforme FUN, suivi par plus de 200 000 inscrits et utilisé par Sorbonne Université et CentraleSupélec. Les supports et la progression pédagogique sont éprouvés sur un public extrêmement varié, du débutant complet au développeur expérimenté qui souhaite consolider ses fondations. Cette diversité m'a appris à identifier rapidement le niveau réel d'une équipe et à adapter le rythme en conséquence.

Un focus performance toujours à l'état de l'art

La spécificité de mon catalogue : aller au-delà de la data science d'introduction. Polars vs Pandas sur des volumes qui dépassent la RAM, parallélisme CPU-bound, accélération JIT avec Numba, gestion mémoire fine. Ce sont les sujets qui distinguent une équipe qui prototype d'une équipe qui livre en production. Les supports évoluent en continu pour suivre l'écosystème — nouvelles versions de Polars, évolutions du streaming engine, bonnes pratiques émergentes — parce que c'est aussi mon terrain de recherche au quotidien.

Pré-requis

Public cible

Data scientists, ingénieurs, chercheurs, post-doctorants et doctorants utilisant Pandas et souhaitant améliorer les performances de leurs traitements.

Prérequis

Niveau intermédiaire en Python (fonctions, itération, espaces de nommage, importation de modules) et en Pandas/NumPy. Cette formation est conçue comme la suite logique de la formation Python data science niveau 1.

Modalités d'enseignement

  • En distanciel
  • En présentiel

Public cible

Tous publics

Votre formateur

Arnaud Legout
## Parcours

Je suis Directeur de Recherche à Inria, l'institut national de recherche en sciences du numérique, basé sur le site de Sophia Antipolis. Mes travaux portent sur les systèmes distribués, les mesures Internet et l'analyse de très grands volumes de données.

J'utilise Python quotidiennement depuis plus de 20 ans, sur des problèmes de recherche concrets qui m'ont conduit à pratiquer en profondeur la plupart des sujets que j'enseigne aujourd'hui : performance numérique, parallélisme, gestion mémoire sur des datasets multi-milliards de lignes, manipulation avancée avec Polars.

Je forme des professionnels au langage Python depuis 2011, en entreprise comme dans le monde académique. À ce jour, mes formations ont été suivies par des équipes chez Orange, Cisco, Intel Mobile Communications, Gemalto, EPCOS, Transvalor, ainsi que par de nombreux chercheurs et ingénieurs au CNRS, à l'INRAE, à l'INSERM, à l'Observatoire de la Côte d'Azur et à l'Université Côte d'Azur.

## Travaux de recherche

Mes travaux portent sur les systèmes distribués, les mesures Internet à grande échelle, et l'analyse de très grands volumes de données. Quelques projets significatifs :

- Sotweet — Études à grande échelle sur Twitter : analyse complète du graphe social (505 millions de comptes, 23 milliards de liens) et étude de la propagation d'information. L'une de nos publications a notamment montré que près de 6 personnes sur 10 partagent un article sur Twitter sans l'avoir lu. Résultats publiés à ACM SIGMETRICS 2014 et ACM SIGMETRICS 2016, et largement repris par la presse internationale : Washington Post, Fortune, El Diario.
- Bluebear — Analyse des menaces à la vie privée sur Internet. Monitoring continu de 148 millions d'adresses IP téléchargeant 2 milliards de copies de contenus via des protocoles pair-à-pair (BitTorrent, Tor, Skype). Publications dans LEET 2010, LEET 2011, ACM SIGCOMM/USENIX IMC 2011 ; couverture par le New York Times, Le Monde.
- ElectroSmart — Mesure crowdsourcée de l'exposition aux ondes radiofréquences (antennes cellulaires, Wi-Fi, Bluetooth), déployée sur smartphones grand public : 254 410 utilisateurs uniques dans 13 pays, de janvier 2017 à décembre 2020. Publication dans Environment International.
- Analyse du graphe de transactions Bitcoin — Traitement de l'intégralité de la chaîne de transactions Bitcoin depuis ses débuts — 16,5 milliards de liens entre 1,5 milliard d'adresses — manipulation en Python avec Polars sur fichiers Parquet partitionnés.

Cette pratique sur des données réelles à grande échelle nourrit directement le contenu de mes formations. Au-delà du code, ces projets m'ont donné l'expérience du sens de l'analyse : savoir poser les bonnes questions sur un dataset volumineux, identifier les patterns significatifs, et construire des pipelines reproductibles pour des analyses qui tiennent la route scientifiquement.

Page personnelle Inria complète : www-sop.inria.fr/members/Arnaud.Legout/

## Le MOOC Python sur FUN

En 2014, j'ai co-créé avec Thierry Parmentelat le premier MOOC francophone consacré à Python, hébergé sur la plateforme FUN. Une seconde version, dédiée à Python 3, a été publiée en 2017. Depuis 2019, le MOOC est ouvert en permanence à l'inscription.

Le cours a accueilli à ce jour plus de 200 000 inscrits et a été utilisé comme support pédagogique par Sorbonne Université, CentraleSupélec et plusieurs autres établissements.

MOOC Python 3 — des fondamentaux aux concepts avancés (FUN MOOC, 200 000 inscrits)

## Ma façon de former

Mon expérience de chercheur, d'enseignant universitaire et de formateur en entreprise m'a appris une chose : la qualité d'une formation ne se mesure pas au volume de slides parcourus, mais à la capacité des participants à transposer ce qu'ils ont appris dans leur propre code.

Je construis mes formations autour d'exercices pratiques sur notebooks Jupyter, avec des cas d'usage proches des problèmes réels que rencontrent les participants. Je m'assure que chaque concept est compris avant de passer au suivant, quitte à adapter le rythme au groupe. Je reste disponible pour les questions ponctuelles dans les semaines qui suivent la formation : la transmission ne s'arrête pas le dernier jour.

Découvrez l'ensemble du catalogue de formations Python data science sur mon site.

Programme

1
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. Streaming engine : traiter des données qui dépassent la RAM. Expressions Polars : l'API la plus puissante pour la manipulation de données. Gestion des données manquantes. Agrégations et fenêtres : group_by, over. Jointures et concaténations. Restructuration : pivot et unpivot. Séries temporelles  : resampling, fenêtres glissantes, gestion des fuseaux horaires. Format Parquet : lecture/écriture, compression, partitionnement, interopérabilité avec PyArrow et Pandas. Migration de Pandas vers Polars : stratégies et équivalences. Benchmark comparatif sur des cas réels.
2
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.
3
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.

Sur la même thématique

Logo eDRH Sud PACA - Footer
Nous contacter

Chambre de Commerce
et d’industrie Nice Côte d’Azur

20 Boulevard Carabacel
CS 11259
06005 NICE CEDEX 1

Tel :04 93 13 75 73
(Appel gratuit depuis un poste fixe)