devsite/vault-grasbot/10-Projets/piscine-python-data-science.md
2026-04-23 19:41:58 +02:00

4.3 KiB

title slug type source domains tags aliases answers priority linked related updated visibility
Piscine Python — Data Science piscine-python-data-science projet manual
ia
ecole-42
algorithmique
42-piscine
data-ia
piscine python
python piscine
piscine data science
piscine python 42
piscine data
python 42
data science 42
numpy pandas 42
Qu'est-ce que la Piscine Python de 42 ?
Parle-moi de la Piscine Python Data Science.
Comment s'est-il formé à Python et à la data ?
Qu'a-t-il appris en Python à l'École 42 ?
A-t-il travaillé avec NumPy et pandas ?
6
MOC-Projets
MOC-Ecole-42
MOC-Ia
ft-linear-regression
ia
2026-04-23 public

Piscine Python — Data Science

[!info] Contexte Sprint d'apprentissage intensif de la branche Data Science / IA à l'École 42, structuré en 5 modules (Python 0 à 4). Complément naturel du projet ft-linear-regression et socle pratique pour les travaux IA décrits dans ia et grasbot.

Objectif

Bâtir la boîte à outils Python d'un futur spécialiste Data / IA, en privilégiant la compréhension des paradigmes plutôt que la simple collection de syntaxes. Chaque module est une piscine courte : exercices quotidiens, correction par les pairs, rythme soutenu.

Les 5 modules

Python 0 — Starting

Bases du langage : variables, structures de contrôle, fonctions, listes / tuples / sets / dictionnaires, compréhensions, fichiers, exceptions, argparse. Règles strictes de la Piscine : Python 3.10 obligatoire, imports explicites, pas de variables globales, fonctions qui ne plantent jamais, tests écrits par l'étudiant.

Python 1 — Array

Programmation vectorisée avec NumPy : création et manipulation d'arrays multidimensionnels, slicing avancé, broadcasting, fonctions universelles (ufunc), opérations matricielles. Apprentissage du réflexe « remplacer une boucle Python par une opération vectorielle » — fondamental pour la performance en ML.

Python 2 — DataTable

Manipulation de DataFrames avec pandas : chargement CSV / Excel, sélection par index / label, groupby, merge / join, pivots, nettoyage de données, détection de valeurs manquantes et aberrantes, statistiques descriptives (describe(), quantiles). Le module charnière pour les projets de régression et d'analyse.

Python 3 — Object-Oriented Programming

Programmation orientée objet : classes, héritage, composition, encapsulation, méthodes spéciales (__init__, __repr__, __eq__…), polymorphisme. Introduction aux design patterns utiles en data science : modélisation de datasets comme objets, classes de modèles avec méthodes fit / predict (préparation à scikit-learn).

Python 4 — Data Oriented Design

Changement de perspective : DOD (Data Oriented Design) — organiser le code autour des données et de leur accès mémoire plutôt qu'autour d'objets. Cache-friendliness, structure of arrays vs array of structures, profilage basique. Un pont entre Python de haut niveau et les contraintes de performance qu'on retrouvera en deep learning (PyTorch / TensorFlow) ou en traitement de gros volumes.

Compétences mobilisées

  • Python moderne : idiomes 3.10+, typage, gestion d'erreurs robuste.
  • NumPy : vectorisation, broadcasting, algèbre linéaire appliquée.
  • pandas : nettoyage, agrégation, transformation de données tabulaires.
  • POO Python : architecture de classes, héritage, méthodes spéciales.
  • Rigueur École 42 : tests écrits, code sans crash, peer-evaluation, respect strict des contraintes de rendu.

Valeur pour la suite

Cette Piscine est le socle pratique de tous les projets Data / IA qui suivent. ft-linear-regression (régression linéaire par descente de gradient), les expérimentations LLM / agents locaux et la manipulation des jeux de données côté chatbot (grasbot) reposent directement sur les acquis de ces 5 modules.


Liens