Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Indexation par Tableau d'Entiers | Indexation et Découpage
Numpy Ultime
course content

Contenu du cours

Numpy Ultime

Numpy Ultime

1. Bases de NumPy
2. Indexation et Découpage
3. Fonctions NumPy Couramment Utilisées
4. Math avec NumPy

book
Indexation par Tableau d'Entiers

En plus de l'indexation de base, où nous utilisons un entier pour un seul index, NumPy nous permet également d'utiliser un tableau 1D d'entiers entier (une liste d'entiers est également possible) pour l'indexation.

Indexation par tableau d'entiers dans les tableaux 1D

Chaque élément du tableau d'entiers utilisé pour l'indexation est traité comme un index, donc, par exemple, array[[0, 1, 3]] récupère les éléments aux indices 0, 1 et 3 sous la forme d'un tableau 1D, étant donné que array est lui-même un tableau 1D. Vous pouvez également utiliser des tableaux NumPy pour l'indexation, mais cela rend le code plus lourd.

12345678
import numpy as np array = np.array([23, 41, 7, 80, 3]) # Retrieving elements at indices 0, 1 and 3 print(array[[0, 1, 3]]) # Retrieving elements at indices 1, -1 and 2 in this order print(array[[1, -1, 2]]) # IndexError is thrown since index 5 is out of bounds print(array[[2, 5]])
copy

Indexation de tableau entier dans les tableaux 1D

En parlant des tableaux 2D et de dimensions supérieures, l'indexation de tableau entier fonctionne de la même manière que dans les tableaux 1D le long de chaque axe. Si nous utilisons seulement un tableau entier pour l'indexation, nous indexons le long d'un seul axe (axe 0). Si nous utilisons deux tableaux séparés par une virgule, nous indexons le long des deux axes (axe 0 et axe 1).

L'indexation uniquement le long de l'axe 0 à l'aide d'un tableau d'entiers renvoie un tableau 2D. Lorsque nous accédons aux éléments via une telle indexation, nous les regroupons dans un nouveau tableau. Ce nouveau tableau est constitué de tableaux 1D, et les regrouper augmente la dimensionnalité d'un, résultant en un tableau 2D.

L'indexation le long de l'axe 0 et l'axe 1 à l'aide de deux tableaux d'entiers renvoie un tableau 1D.

Remarque

Tous les tableaux entiers utilisés pour chacun des axes doivent avoir la même forme.

123456789101112131415
import numpy as np array_2d = np.array([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]) # Retrieving first and the third row print(array_2d[[0, 2]]) # Retrieving the main diagonal elements print(array_2d[[0, 1, 2], [0, 1, 2]]) # Retrieving the first and third element of the second row print(array_2d[1, [0, 2]]) # IndexError is thrown, since index 3 along axis 0 is out of bounds print(array_2d[[0, 3], [0, 1]])
copy

Comme vous pouvez le voir, nous pouvons également combiner l'indexation entière de base et l'indexation de tableau entier.

Remarque

Encore une fois, si au moins un des indices est hors limites, une IndexError est levée.

En parlant d'applications, une telle indexation est utile lorsque vous devez sélectionner des éléments spécifiques qui ne sont pas adjacents ou qui ne suivent pas un ordre régulier. Contrairement au découpage, qui fonctionne avec des plages continues, cette méthode vous permet de choisir exactement quels éléments récupérer. Elle est utile lorsque vous souhaitez extraire des données dispersées ou réorganiser des valeurs dans un tableau.

1. Vous analysez les données de ventes mensuelles (en milliers) pour cinq produits. Quel est le résultat du code ?

2. Le tableau temperatures représente les températures hebdomadaires (en °C) de trois villes pour lundi, mardi et mercredi. Sélectionnez l'option correcte pour récupérer les températures de Berlin lundi et mardi, et de Madrid mardi.

Vous analysez les données de ventes mensuelles (en milliers) pour cinq produits. Quel est le résultat du code ?

Vous analysez les données de ventes mensuelles (en milliers) pour cinq produits. Quel est le résultat du code ?

Sélectionnez la réponse correcte

Le tableau `temperatures` représente les températures hebdomadaires (en °C) de trois villes pour lundi, mardi et mercredi. Sélectionnez l'option correcte pour récupérer les températures de Berlin lundi et mardi, et de Madrid mardi.

Le tableau temperatures représente les températures hebdomadaires (en °C) de trois villes pour lundi, mardi et mercredi. Sélectionnez l'option correcte pour récupérer les températures de Berlin lundi et mardi, et de Madrid mardi.

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 5
We're sorry to hear that something went wrong. What happened?
some-alt