Leçon 6 — Indexation NumPy, slicing et filtrage avancé deviens un ninja des tableaux (et gagne ta vie avec)
|

Leçon 6 — Indexation NumPy, slicing et filtrage avancé : deviens un ninja des tableaux (et gagne ta vie avec)

Spread the love

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ébut
  • start: → 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

TechniqueExempleDescription
Indexation NumPy simplea[3]Accéder à un élément
Slicinga[1:5]Extraire une portion
Step slicinga[::2]Un élément sur deux
Indexation multidimensionnellem[2,1]Ligne 3, colonne 2
Filtrage booléena[a>0]Filtrer les valeurs
Combinaison avancéea[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 :

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/

Similar Posts