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

119 lines
4.3 KiB
Markdown

---
title: "Piscine Python — Data Science"
slug: piscine-python-data-science
type: projet
source: manual
domains: [ia, ecole-42, algorithmique]
tags: [42-piscine, data-ia]
aliases:
- piscine python
- python piscine
- piscine data science
- piscine python 42
- piscine data
- python 42
- data science 42
- numpy pandas 42
answers:
- "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 ?"
priority: 6
linked:
- "[[MOC-Projets]]"
- "[[MOC-Ecole-42]]"
- "[[MOC-Ia]]"
related:
- "[[ft-linear-regression]]"
- "[[ia]]"
updated: 2026-04-23
visibility: 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
- [[MOC-Projets]] — hub projets
- [[MOC-Ecole-42]] — contexte pédagogique
- [[MOC-Ia]] — domaine *ia*
- [[ft-linear-regression]] — premier projet Data / IA 42 après cette piscine
- [[ia]] — compétence IA (fiche)