Leçon 6 — Indexation NumPy, slicing et filtrage avancé : deviens un ninja des tableaux (et gagne ta vie avec)
Bienvenue dans l’une des compétences les plus sous-estimées… mais les plus rentables en data : l’indexation NumPy.
Oui, oui : l’indexation NumPy peut te rapporter de l’argent.
Tu ne me crois pas ? Attends l’histoire de Jack…
Objectif de la leçon
À la fin de cette leçon, tu maîtriseras :
- l’indexation NumPy simple, avancée, multidimensionnelle
- le slicing (la magie silencieuse qui remplace 40 lignes de boucles)
- le filtrage booléen (le super-pouvoir le plus sous-côté de Python)
- les indexations combinées et professionnelles utilisées en entreprise
- la compréhension profonde de ce qui se passe vraiment en mémoire
Tout ça avec humour + clarté + exemples + exercices corrigés.
Un cocktail parfait. 🍹
Comment Jack (Belgique 🇧🇪) a doublé son salaire grâce à… l’indexation NumPy
Jack vivait à Liège, travaillait dans une petite entreprise logistique.
Il faisait des rapports Excel comme tout le monde, jusqu’au jour où :
👉 Il a découvert l’indexation NumPy
👉 Il a automatisé tous les rapports trimestriels
👉 Il a réduit les temps de calcul de 45 minutes à 3 secondes
👉 Son boss croyait qu’il utilisait de la magie noire 🔮
👉 Il a obtenu une augmentation
👉 Puis un job dans une compagnie de transport intelligent
Tout ça parce qu’il savait filtrer, slicer et manipuler des matrices à la vitesse de la lumière.
Et toi, tu vas faire mieux. 😉
PARTIE 1 — Qu’est-ce que l’indexation NumPy ?
Le mot-clé du jour : indexation NumPy.
C’est tout simplement l’art d’accéder aux données exactement où elles se trouvent, sans for loops, sans douleur, sans lenteur.
L’indexation NumPy = des opérations 50× plus rapides que Python classique.
Exemple basique :
import numpy as np
a = np.array([10, 20, 30, 40])
print(a[2])
📌 Ce que ça signifie :
tu récupères le 3ᵉ élément, grâce à l’indexation NumPy.
PARTIE 2 — Indexation NumPy simple
Accéder à un élément
a[2] # 3ᵉ élément
a[-1] # dernier élément
➡️ C’est la forme la plus basique d’indexation NumPy :
accéder directement à un élément par son index (positif ou négatif).
PARTIE 3 — Le slicing : le couteau suisse de l’indexation NumPy
C’est La fonctionnalité que les développeurs adorent.
Exemple :
a[1:4] # éléments 1 à 3
a[:5] # du début jusqu'à l’index 4
a[::2] # un élément sur deux
📌 Explication claire :
start:end→ commence à start, s’arrête AVANT end:end→ commence au débutstart:→ va jusqu’à la fin::step→ saute des éléments
C’est ce qui rend l’indexation NumPy si puissante.
PARTIE 4 — Indexation NumPy multidimensionnelle
Sur une matrice :
m[1, 2] # ligne 2, colonne 3
m[:, 0] # première colonne
m[1, :] # deuxième ligne
Pourquoi c’est incroyable ?
Parce que grâce à l’indexation NumPy, tu peux accéder exactement au bloc qui t’intéresse sans boucle.
PARTIE 5 — Indexation booléenne (filtrage avancé)
Ici, NumPy active le mode turbo.
a[a > 50]
➡️ Tu obtiens instantanément tous les éléments supérieurs à 50.
Pas de boucle. Pas de condition.
Juste la magie de l’indexation NumPy.
Autre exemple :
a[(a > 10) & (a < 40)]
Cette méthode est utilisée PRO en analyse financière, climatologie, géospatial, IA…
PARTIE 6 — Combiner slicing + conditions
Voici ce qu’un débutant ferait :
result = []
for x in a[2:10]:
if x > 30:
result.append(x)
Voici ce que toi, expert en indexation NumPy, feras :
a[2:10][a[2:10] > 30]
➡️ 1 ligne.
➡️ 100× plus rapide.
➡️ Tu mérites une gaufre belge. 🧇
PARTIE 7 — Tableau récapitulatif
| Technique | Exemple | Description |
|---|---|---|
| Indexation NumPy simple | a[3] | Accéder à un élément |
| Slicing | a[1:5] | Extraire une portion |
| Step slicing | a[::2] | Un élément sur deux |
| Indexation multidimensionnelle | m[2,1] | Ligne 3, colonne 2 |
| Filtrage booléen | a[a>0] | Filtrer les valeurs |
| Combinaison avancée | a[1:8][a[1:8] < 50] | Filtrage ciblé |
| Masques complexes | (a>10)&(a<90) | Conditions multiples |
PARTIE 8 — Références utiles
📘 Doc officielle NumPy (indexation) :
https://numpy.org/doc/stable/user/basics.indexing.html
Tu avances vite ! Continue avec :
- Types NumPy & mémoire
https://www.coindudev.com/types-numpy-guide-ultime/ - Statistiques avec NumPy
https://www.coindudev.com/statistiques-avec-numpy-guide/
PARTIE 9 — Exercices pratiques
Exercice 1
Crée un tableau de 20 valeurs et récupère :
- les 5 premières
- les valeurs paires
- les valeurs > 50
Exercice 2
Avec un tableau 5×5, extrais :
- la diagonale
- la première colonne
- les éléments > moyenne du tableau
Exercice 3
Avec un tableau 1D de températures, récupère :
- toutes les valeurs > 30°C
- les valeurs entre 15 et 25
- les indices où la température chute en dessous de 10
PARTIE 10 — Corrections détaillées
Exercice 1
a = np.random.randint(0,100,20)
a[:5]
a[a % 2 == 0]
a[a > 50]
Exercice 2
m = np.random.randint(0,50,(5,5))
np.diag(m)
m[:,0]
m[m > m.mean()]
Exercice 3
t = np.array([12,18,33,7,25,30,31,9])
t[t > 30]
t[(t > 15) & (t < 25)]
np.where(t < 10)
QCM
1️⃣ Que fait a[::3] ?
✔ Prend un élément sur trois.
2️⃣ Comment filtrer les valeurs > 40 ?
✔ a[a > 40]
3️⃣ Quelle méthode est la plus rapide ?
✔ L’indexation NumPy vectorisée.
4️⃣ Quelle commande récupère la 2ᵉ colonne ?
✔ m[:,1]
5️⃣ Quel est l’avantage du slicing ?
✔ Rapidité + lecture + pas de boucle.
6️⃣ Comment combiner deux conditions ?
✔ (a>10) & (a<50)
Conclusion
Tu maîtrises maintenant :
- indexation NumPy
- le slicing sous toutes ses formes
- le filtrage avancé et ses conditions puissantes
- l’indexation multidimensionnelle
- les astuces pros que les data analysts utilisent quotidiennement
Bref, tu viens peut-être d’écrire le premier chapitre de ta future carrière… ou de ta prochaine augmentation (Jack de Belgique approuve 👀🇧🇪).
Mais ne t’arrête surtout pas là.
👉 Si tu veux réellement manipuler les données comme un expert, tu dois apprendre à transformer, assembler et reconstruire des tableaux.
Et ça tombe bien : la suite est la Leçon 7️⃣ Reshape, concaténation et fusion de tableaux — un chapitre essentiel pour faire briller ton workflow NumPy ✨
➡️ Découvre la Leçon 7 ici : https://www.coindudev.com/operations-vectorisees-de-numpy/
