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

bookIndexation par Tableau d'Entiers

En plus de l’indexation de base, où un entier est utilisé pour un seul indice, NumPy permet également d’utiliser un tableau 1D d’entiers (une liste d’entiers est aussi 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 considéré comme un indice. Par exemple, array[[0, 1, 3]] récupère les éléments aux indices 0, 1 et 3 sous forme de tableau 1D, à condition que array soit lui-même un tableau 1D. Il est également possible d’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 par tableau d'entiers dans les tableaux 1D

En ce qui concerne les tableaux 2D et de dimensions supérieures, l'indexation par tableau d'entiers fonctionne de la même manière que dans les tableaux 1D le long de chaque axe. Si l'on utilise un seul tableau d'entiers pour l'indexation, l'indexation se fait uniquement selon un axe (axe 0). Si l'on utilise deux tableaux séparés par une virgule, l'indexation se fait selon les deux axes (axe 0 et axe 1).

L'indexation uniquement selon l'axe 0 à l'aide d'un tableau d'entiers retourne un tableau 2D. Lorsque l'on accède aux éléments via ce type d'indexation, ils sont regroupés dans un nouveau tableau. Ce nouveau tableau est composé de tableaux 1D, et ce regroupement augmente la dimensionnalité d'une unité, produisant ainsi un tableau 2D.

L'indexation selon l'axe 0 et l'axe 1 à l'aide de deux tableaux d'entiers retourne un tableau 1D.

Note
Remarque

Tous les tableaux d'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 constater, il est également possible de combiner l’indexation entière de base et l’indexation par tableau d’entiers.

Note
Remarque

Encore une fois, si au moins un des indices dépasse les limites, une erreur IndexError est levée.

En ce qui concerne les applications, ce type d’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 permet de choisir précisément quels éléments extraire. Elle est utile pour extraire des données dispersées ou réorganiser les valeurs dans un tableau.

1. Vous analysez les données de ventes mensuelles (en milliers) pour cinq produits. Quel est le résultat de ce 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 extraire les températures de Berlin pour lundi et mardi, ainsi que celle de Madrid pour mardi.

question mark

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

Select the correct answer

question mark

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 extraire les températures de Berlin pour lundi et mardi, ainsi que celle de Madrid pour mardi.

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 5

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain how negative indices work with integer array indexing?

What happens if the arrays used for indexing have different lengths?

Can you give more examples of combining basic and integer array indexing?

Awesome!

Completion rate improved to 3.7

bookIndexation par Tableau d'Entiers

Glissez pour afficher le menu

En plus de l’indexation de base, où un entier est utilisé pour un seul indice, NumPy permet également d’utiliser un tableau 1D d’entiers (une liste d’entiers est aussi 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 considéré comme un indice. Par exemple, array[[0, 1, 3]] récupère les éléments aux indices 0, 1 et 3 sous forme de tableau 1D, à condition que array soit lui-même un tableau 1D. Il est également possible d’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 par tableau d'entiers dans les tableaux 1D

En ce qui concerne les tableaux 2D et de dimensions supérieures, l'indexation par tableau d'entiers fonctionne de la même manière que dans les tableaux 1D le long de chaque axe. Si l'on utilise un seul tableau d'entiers pour l'indexation, l'indexation se fait uniquement selon un axe (axe 0). Si l'on utilise deux tableaux séparés par une virgule, l'indexation se fait selon les deux axes (axe 0 et axe 1).

L'indexation uniquement selon l'axe 0 à l'aide d'un tableau d'entiers retourne un tableau 2D. Lorsque l'on accède aux éléments via ce type d'indexation, ils sont regroupés dans un nouveau tableau. Ce nouveau tableau est composé de tableaux 1D, et ce regroupement augmente la dimensionnalité d'une unité, produisant ainsi un tableau 2D.

L'indexation selon l'axe 0 et l'axe 1 à l'aide de deux tableaux d'entiers retourne un tableau 1D.

Note
Remarque

Tous les tableaux d'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 constater, il est également possible de combiner l’indexation entière de base et l’indexation par tableau d’entiers.

Note
Remarque

Encore une fois, si au moins un des indices dépasse les limites, une erreur IndexError est levée.

En ce qui concerne les applications, ce type d’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 permet de choisir précisément quels éléments extraire. Elle est utile pour extraire des données dispersées ou réorganiser les valeurs dans un tableau.

1. Vous analysez les données de ventes mensuelles (en milliers) pour cinq produits. Quel est le résultat de ce 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 extraire les températures de Berlin pour lundi et mardi, ainsi que celle de Madrid pour mardi.

question mark

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

Select the correct answer

question mark

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 extraire les températures de Berlin pour lundi et mardi, ainsi que celle de Madrid pour mardi.

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 5
some-alt