Leçon 2️⃣ — Comprendre les tableaux NumPy (ndarray)
Tu viens de terminer la leçon précédente sur l’installation de NumPy ? Parfait !
Tu es maintenant prêt(e) à manipuler la brique la plus puissante de toute la data science : les tableaux NumPy.
Si Python est le cerveau, les tableaux NumPy en sont la mémoire vive. C’est grâce à eux que ton ordinateur peut avaler des millions de données, les transformer, les additionner, les remodeler — tout cela en un clin d’œil.
Qu’est-ce qu’un tableau NumPy ?
Un tableau NumPy (ou ndarray, pour n-dimensional array) est une structure de données multidimensionnelle.
C’est un peu comme une version dopée de la liste Python : plus rapide, plus compacte, et surtout… taillée pour le calcul scientifique.
👉 En d’autres termes, là où une liste Python galère à faire une somme de 10 millions de valeurs, les tableaux NumPy le font avant que tu aies eu le temps de dire « import numpy » 😅.
Exemple simple :
import numpy as np
# Création d’un tableau NumPy à partir d’une liste Python
tableau = np.array([1, 2, 3, 4, 5])
print(tableau)
Résultat :
[1 2 3 4 5]
Eh oui, même l’affichage est plus propre. Les crochets serrés, sans virgules, c’est la signature NumPy.
Liste Python vs Tableau NumPy
Tu te demandes peut-être : pourquoi ne pas simplement utiliser des listes classiques ?
Voici la réponse en un seul tableau :
| Critère | Liste Python | Tableau NumPy |
|---|---|---|
| Type de données | Peut mélanger plusieurs types (int, str…) | Un seul type homogène (int, float…) |
| Vitesse | Lente (interprétée) | Très rapide (écrite en C) |
| Mémoire | Moins optimisée | Compacte et performante |
| Calculs mathématiques | Nécessite des boucles | Vectorisation native |
| Dimensionnalité | 1D uniquement | 1D, 2D, 3D… voire plus ! |
| Interopérabilité | Moyenne | Compatible IA, Data, SIG, etc. |
➡️ Verdict : les tableaux NumPy sont la base de tous les traitements scientifiques et de l’IA moderne.
Créer un tableau NumPy de A à Z
Voici quelques manières de créer un tableau NumPy selon tes besoins :
import numpy as np
# 1. Depuis une liste
a = np.array([10, 20, 30])
# 2. Tableau 2D (matrice)
b = np.array([[1, 2, 3], [4, 5, 6]])
# 3. Tableau de zéros
c = np.zeros((2, 3))
# 4. Tableau de uns
d = np.ones((3, 3))
# 5. Suite de nombres régulière
e = np.arange(0, 10, 2)
# 6. Valeurs aléatoires
f = np.random.rand(2, 2)
💡 Astuce de pro : pour des tests rapides, utilise np.arange() ou np.random() — ton meilleur ami pour créer des données sans te fatiguer.
Dimensions et formes (shape)
Chaque tableau NumPy possède un attribut magique : .shape, qui indique sa taille et son nombre de dimensions.
print(a.shape) # (3,)
print(b.shape) # (2, 3)
Tu peux aussi vérifier le nombre de dimensions avec .ndim :
print(b.ndim) # 2
➡️ 1D = une simple liste
➡️ 2D = un tableau à deux entrées (comme Excel)
➡️ 3D = cube de données, utilisé en IA, SIG, ou traitement d’images satellite
Manipuler et transformer les tableaux NumPy
Les tableaux NumPy sont faits pour être malléables. Tu peux facilement changer leur forme, les fusionner, ou extraire certaines parties :
arr = np.arange(12)
arr = arr.reshape(3, 4)
print(arr)
Résultat :
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
La méthode reshape() est un superpouvoir : elle te permet de transformer un tableau 1D en tableau 2D, sans recopier les données.
Indexation et slicing dans les tableaux NumPy
Tu peux sélectionner ou modifier des parties spécifiques d’un tableau avec une simplicité désarmante :
arr = np.array([10, 20, 30, 40, 50])
print(arr[0]) # Premier élément
print(arr[1:4]) # Du 2e au 4e élément
arr[2] = 99 # Modification
print(arr)
Résultat :
10
[20 30 40]
[10 20 99 40 50]
En une ligne, tu as manipulé ce qui nécessiterait trois boucles dans un autre langage !
Les tableaux multidimensionnels (ndarray)
Et si on passait à la 3D ?
Les tableaux NumPy n’ont pas de limite de dimensions. C’est ce qui les rend si puissants dans le Machine Learning, le SIG, et même le Cloud Computing.
cube = np.arange(27).reshape(3, 3, 3)
print(cube)
Chaque “couche” du cube peut représenter :
- une couche de pixels dans une image satellite,
- une couche temporelle d’un modèle météo,
- ou un instant T d’un signal capté par un capteur IoT.
Les tableaux NumPy sont donc bien plus qu’une simple structure : ce sont de véritables univers de données.
Exemple pratique : moyenne, somme et max
Voyons un exemple d’analyse simple avec les tableaux NumPy :
data = np.array([[10, 20, 30], [40, 50, 60]])
print("Somme :", np.sum(data))
print("Moyenne :", np.mean(data))
print("Maximum :", np.max(data))
Résultat :
Somme : 210
Moyenne : 35.0
Maximum : 60
En 3 lignes, tu réalises ce que d’autres langages font en 15.
C’est la beauté de NumPy : concis, clair et incroyablement rapide ⚡.
Pourquoi les tableaux NumPy changent tout
En résumé, les tableaux NumPy permettent de :
- Gérer d’énormes volumes de données sans ralentir ton système.
- Simplifier les calculs mathématiques.
- Travailler avec des matrices multi-dimensions.
- Passer naturellement vers la data science, le cloud et le machine learning.
Et surtout, ils t’apprennent à penser en vectoriel, pas en boucle — une vraie révolution mentale pour tout codeur.
Ce qu’il faut retenir
| Concept | Description |
|---|---|
| ndarray | Structure de base de NumPy, n-dimensionnelle |
| Homogénéité | Un seul type de donnée par tableau |
| Shape | Taille et forme du tableau |
| ndim | Nombre de dimensions |
| Reshape | Transformation de la forme du tableau |
| Slicing | Extraction de sous-ensembles |
| Performance | Écrite en C, ultra-rapide |
Section — Exercices pratiques : manipuler les tableaux NumPy
💪 Mets les mains dans le code ! Voici trois petits défis pour tester ta compréhension des tableaux NumPy :
Exercice 1 — Création de tableaux
Objectif : créer un tableau 2D de 3 lignes et 4 colonnes, contenant les nombres de 0 à 11.
import numpy as np
arr = np.arange(12).reshape(3, 4)
print(arr)
✅ Correction : le tableau créé contient bien les valeurs séquentielles de 0 à 11 organisées en 3×4.
C’est ton premier vrai tableau NumPy !

Exercice 2 — Moyenne et écart-type
Objectif : calcule la moyenne et l’écart-type d’un tableau [10, 20, 30, 40, 50].
data = np.array([10, 20, 30, 40, 50])
print("Moyenne :", np.mean(data))
print("Écart-type :", np.std(data))
✅ Correction : Moyenne = 30, Écart-type ≈ 14,14.
Tu viens d’utiliser deux des fonctions statistiques les plus importantes de NumPy !
Exercice 3 — Sélection conditionnelle
Objectif : affiche tous les éléments supérieurs à 25 dans un tableau [10, 20, 30, 40, 50].
arr = np.array([10, 20, 30, 40, 50])
print(arr[arr > 25])
✅ Résultat : [30 40 50]
NumPy te permet de faire de la logique vectorielle sans boucle : rapide et élégant ⚡
QCM – Comprendre les tableaux NumPy
1️⃣ Que signifie “ndarray” dans NumPy ?
a) Non-distributed array
b) N-dimensional array ✅
c) Nested dictionary array
2️⃣ Quelle est la principale différence entre une liste Python et un tableau NumPy ?
a) Le tableau NumPy contient plusieurs types
b) Le tableau NumPy est plus rapide et homogène ✅
c) Il n’y en a aucune
3️⃣ Quelle méthode permet de transformer la forme d’un tableau ?
a) reshape() ✅
b) resize()
c) reform()
4️⃣ Que renvoie l’attribut .shape ?
a) Le nombre de dimensions
b) La taille et la forme du tableau ✅
c) La somme des valeurs
5️⃣ NumPy est principalement écrit en :
a) C ✅
b) Java
c) Rust
💡 Résultat :
🟢 5/5 → NumPy n’a plus de secrets pour toi !
🟡 3-4/5 → Très bon, revois juste les bases.
🔴 0-2/5 → Retourne à la leçon 1 sur l’installation de NumPy 😅
Conclusion
Les tableaux NumPy ne sont pas qu’une structure de données — ce sont des moteurs de performance.
Tu viens de découvrir comment les créer, les transformer, les découper et les analyser.
Mais ce n’est que le début…
Dans la Leçon 3, on entre dans les coulisses : la gestion des types de données et de la mémoire.
Tu comprendras pourquoi NumPy est capable de traiter des millions de valeurs sans broncher 💪
Alors, garde ton IDE ouvert, ton café chaud ☕ et ton esprit curieux.
On se retrouve dans la prochaine leçon ! 🚀
📘 En résumé
- Les tableaux NumPy sont la fondation de toute analyse de données moderne.
- Ils remplacent avantageusement les listes Python grâce à leur performance.
- Ils te permettent de manipuler, transformer et calculer sur des volumes massifs de données.
- Et surtout, ils t’ouvrent la porte du machine learning, du SIG, du cloud et du freelancing.
Alors, prêt(e) à plonger plus loin dans l’univers fascinant de NumPy ?
Rendez-vous dans la prochaine leçon:
👉 Leçon 3️ — Les types de données et la gestion de la mémoire
