Découpage et indexation des tableaux
Sélectionnez des éléments, lignes, colonnes et sous-tableaux individuels à l’aide de la notation des entiers et des tranches sur des tableaux multidimensionnels.
Découpage et indexation des tableaux est une leçon Pandas & NumPy Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Pandas & NumPy Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Pandas & NumPy Academy comprend 4 leçons au total.
Indexation par entiers dans les tableaux à une dimension
Un tableau à une dimension s’indexe comme une liste : a[0] est le premier élément et a[-1] le dernier. L’indexation renvoie un seul scalaire, et les nombres négatifs comptent depuis la fin.
import numpy as np
a = np.array([10, 20, 30, 40, 50])
print(a[0]) # 10
print(a[-1]) # 50
print(a[2]) # 30Découper des tableaux à une dimension
Les tranches utilisent start:stop:step comme les listes, mais une tranche NumPy renvoie une vue — sans copie. Modifiez la tranche et vous modifiez l’original ; utilisez donc .copy() si nécessaire.
import numpy as np
a = np.arange(10) # [0 1 2 3 4 5 6 7 8 9]
print(a[2:7]) # [2 3 4 5 6]
print(a[::2]) # [0 2 4 6 8]
print(a[::-1]) # [9 8 7 6 5 4 3 2 1 0]Indexer des tableaux à deux dimensions
Pour les tableaux à deux dimensions, utilisez la syntaxe avec virgule : a[row, col]. Deux-points seuls signifie tout l’axe concerné : a[0, :] récupère une ligne entière et a[:, 1] une colonne entière.
import numpy as np
m = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
print(m[1, 2]) # 6 (row 1, col 2)
print(m[0, :]) # [1 2 3] first row
print(m[:, 1]) # [2 5 8] second columnDécouper des tableaux à deux dimensions
Donnez deux tranches pour récupérer un bloc rectangulaire : a[0:2, 1:3] sélectionne ces lignes et ces colonnes. Le résultat est une vue, donc les modifications sont répercutées dans l’original.
import numpy as np
m = np.arange(16).reshape(4, 4)
print(m)
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]
# [12 13 14 15]]
print(m[1:3, 1:3])
# [[ 5 6]
# [ 9 10]]Indexation booléenne
Transmettez un tableau booléen pour ne conserver que les éléments marqués True. Cette indexation booléenne renvoie toujours une copie et constitue la méthode standard pour filtrer les données.
import numpy as np
a = np.array([3, 7, 2, 9, 1, 6])
mask = a > 4
print(mask) # [False True False True False True]
print(a[mask]) # [7 9 6]
# Equivalent one-liner
print(a[a > 4]) # [7 9 6]Indexation avancée avec des tableaux d’entiers
L’indexation avancée vous permet de sélectionner des éléments à n’importe quelles positions avec une liste d’entiers — dans n’importe quel ordre, même en les répétant. Elle renvoie toujours une copie.
import numpy as np
a = np.array([10, 20, 30, 40, 50])
idx = [4, 1, 3]
print(a[idx]) # [50 20 40]
# Selecting specific rows from a 2D array
m = np.arange(20).reshape(4, 5)
print(m[[0, 2], :]) # rows 0 and 2np.where pour une sélection conditionnelle
np.where(condition, x, y) sélectionne x lorsque la condition est True et y lorsqu’elle est False — une méthode rapide, sans boucle, pour choisir les valeurs élément par élément.
import numpy as np
a = np.array([5, -3, 8, -1, 2])
result = np.where(a > 0, a, 0) # keep positives, zero negatives
print(result) # [5 0 8 0 2]
# np.where with one argument returns indices of True elements
idx = np.where(a > 0)
print(idx) # (array([0, 2, 4]),)Les tranches sont des vues — attention !
Attention : puisque les tranches sont des vues, modifier l’une modifie aussi le tableau original. Vous avez besoin d’une partie indépendante ? Appelez d’abord .copy() sur la tranche. ⚠️
import numpy as np
original = np.arange(6)
view = original[2:5] # view, not copy
view[:] = 99
print(original) # [ 0 1 99 99 99 5] -- original changed!
safe = original[2:5].copy() # true copy
safe[:] = 0
print(original) # [ 0 1 99 99 99 5] -- unchangedIndexer des tableaux à trois dimensions
Les tableaux peuvent avoir n’importe quel nombre de dimensions. Pour un tableau à trois dimensions, vous l’indexez avec trois positions : a[depth, row, col] — une situation courante lors du traitement de lots d’images.
import numpy as np
t = np.arange(24).reshape(2, 3, 4)
print(t.shape) # (2, 3, 4)
print(t[0, :, :]) # first 'plane' -- shape (3, 4)
print(t[1, 2, 3]) # scalar at depth 1, row 2, col 3Affecter des valeurs par indexation
Toute forme d’indexation fonctionne à gauche d’un signe = pour modifier les valeurs en place : tranches, masques ou indices avancés. Affectez un scalaire et NumPy le répartit à chaque position.
import numpy as np
a = np.zeros(8)
a[2:5] = 1.0 # slice assignment
print(a) # [0. 0. 1. 1. 1. 0. 0. 0.]
a[a == 0] = -1.0 # boolean assignment
print(a) # [-1. -1. 1. 1. 1. -1. -1. -1.]Ellipsis et np.newaxis
np.newaxis (ou None) ajoute un axe de taille 1, transformant un tableau (5,) en vecteur colonne (5, 1) — une préparation courante avant la diffusion.
import numpy as np
t = np.ones((2, 3, 4))
print(t[..., 0].shape) # (2, 3) -- last axis fixed at 0
a = np.array([1, 2, 3])
print(a.shape) # (3,)
print(a[:, np.newaxis].shape) # (3, 1) column vectorVérification rapide
Vérifiez votre compréhension du découpage et de l’indexation des tableaux NumPy dans cette leçon.
Récapitulatif de la leçon
Bravo ! Les tranches sont des vues qui partagent la mémoire, l’indexation booléenne filtre et copie les données, et l’indexation avancée récupère les éléments que vous indiquez. Ensuite : les fonctions universelles.
Apprends Python avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 30
- Leçons
- 120
Questions Fréquemment Posées
La leçon « Découpage et indexation des tableaux » est-elle gratuite ?
Oui — le texte complet de « Découpage et indexation des tableaux » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Pandas & NumPy Academy, passe à CoddyKit PRO. Le cours Pandas & NumPy Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Découpage et indexation des tableaux » ?
Sélectionnez des éléments, lignes, colonnes et sous-tableaux individuels à l’aide de la notation des entiers et des tranches sur des tableaux multidimensionnels. Tu pratiques Pandas & NumPy Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Pandas & NumPy Academy ?
Aucune expérience préalable n'est requise. Pandas & NumPy Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Découpage et indexation des tableaux » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Pandas & NumPy Academy ?
Oui. Chaque leçon Pandas & NumPy Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Créer des tableaux NumPy
- Attributs et inspection des tableaux
- Arithmétique élément par élément
- Découpage et indexation des tableaux