logo oujood
🔍

Dimensions des tableaux NumPy : 1D, 2D, 3D

Un tableau NumPy peut avoir une, deux, trois ou même davantage de dimensions. Comprendre ce concept est indispensable avant d'aborder le slicing, le broadcasting ou les opérations statistiques.

OUJOOD.COM

Le tableau 1D : le vecteur

Un tableau à une dimension est une simple suite de valeurs — l'équivalent d'une ligne ou d'une colonne. Son shape est un tuple à un seul élément : (n,). C'est le type de tableau que vous obtenez naturellement en passant une liste plate à np.array().

  📋 Copier le code

import numpy as np

# Tableau 1D — vecteur de 5 éléments
v = np.array([10, 20, 30, 40, 50])

print(v.ndim)   # 1 → une seule dimension
print(v.shape)  # (5,) → 5 éléments
print(v.size)   # 5 → nombre total d'éléments

# Accéder à un élément par son index
print(v[0])   # 10 → premier élément
print(v[-1])  # 50 → dernier élément
  

En data science, un tableau 1D représente souvent une colonne d'un dataset, une série temporelle, ou un vecteur de features. Voir aussi la page Indexation pour accéder aux éléments.

Le tableau 2D : la matrice

Un tableau à deux dimensions est une grille de lignes et de colonnes — ce qu'on appelle une matrice. Son shape est (lignes, colonnes). C'est la structure la plus utilisée en data science : un DataFrame Pandas est conceptuellement une matrice 2D. Voir le Tutoriel Pandas pour la comparaison.

  📋 Copier le code

# Tableau 2D — matrice 3×4 (3 lignes, 4 colonnes)
m = np.array([
    [1,  2,  3,  4],
    [5,  6,  7,  8],
    [9, 10, 11, 12]
])

print(m.ndim)   # 2
print(m.shape)  # (3, 4)
print(m.size)   # 12 → 3 × 4

# Accéder à un élément : [ligne, colonne]
print(m[0, 0])   # 1  → ligne 0, colonne 0
print(m[1, 2])   # 7  → ligne 1, colonne 2
print(m[-1, -1]) # 12 → dernière ligne, dernière colonne

# Extraire une ligne entière
print(m[1, :])   # [5 6 7 8]

# Extraire une colonne entière
print(m[:, 2])   # [ 3  7 11]
  

Le tableau 3D : le tenseur

Un tableau à trois dimensions ajoute une profondeur à la matrice. Son shape est (profondeur, lignes, colonnes). L'exemple le plus concret : une image couleur est un tableau 3D de forme (hauteur, largeur, 3) — les 3 canaux étant rouge, vert, bleu. C'est aussi la structure de base en machine learning pour les lots d'images.

  📋 Copier le code

# Tableau 3D — 2 couches de matrices 3×4
t3 = np.zeros((2, 3, 4))

print(t3.ndim)   # 3
print(t3.shape)  # (2, 3, 4)
print(t3.size)   # 24 → 2 × 3 × 4

# Simulation d'une image couleur 28×28 pixels
image = np.zeros((28, 28, 3), dtype=np.uint8)
print(image.shape)  # (28, 28, 3)

# Un batch de 32 images 28×28 en couleur : tableau 4D
batch = np.zeros((32, 28, 28, 3), dtype=np.uint8)
print(batch.ndim)   # 4
print(batch.shape)  # (32, 28, 28, 3)
  

Comprendre les axes

Chaque dimension d'un tableau NumPy correspond à un axe. Pour un tableau 2D, l'axe 0 parcourt les lignes (de haut en bas), l'axe 1 parcourt les colonnes (de gauche à droite). Ce concept est crucial pour les fonctions statistiques comme sum(), mean() ou max() — voir la page Le paramètre axis pour les détails.

  📋 Copier le code

m = np.array([[1, 2, 3],
              [4, 5, 6]])

# Somme globale
print(m.sum())        # 21

# Somme selon l'axe 0 → résultat par colonne
print(m.sum(axis=0))  # [5 7 9]

# Somme selon l'axe 1 → résultat par ligne
print(m.sum(axis=1))  # [6 15]
  

Pour modifier la forme d'un tableau sans changer ses données, voir Reshape. Pour aplatir un tableau multidimensionnel en 1D, voir Flatten et ravel.

Par carabde | Mis à jour le 28 avril 2026