Indexation par tableaux
Leçon 12 sur 18 du cours Les fondamentaux de Numpy de Coddy.
Une autre fonctionnalité intéressante de Numpy est la possibilité de sélectionner des indices spécifiques à partir d'un tableau. Placez une List à l'intérieur des crochets [] et spécifiez les indices que vous souhaitez sélectionner : ary[indices]
Exemple 1
Récupérez les 0ème, 2ème, 4ème éléments :
x = np.arange(5, 15) # np.array([5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
x[[0, 2, 4]]
>>> [5, 7, 9]Exemple 2
Récupérez le premier et le dernier élément (mais cette fois à partir d'un tableau 2D)
x = np.array([[0, 1], [2, 3], [4, 5], [6, 7]])
x[[0, -1]]
>>> [[0, 1], [6, 7]]Qu'en est-il de la récupération d'éléments spécifiques à partir d'un tableau 2D ?
Nous utilisons ary[[Row indices], [Element indices]]
Exemple 3
Récupérez le premier et le dernier élément des 2ème et 3ème lignes
x = np.array([
[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23],
])
x[[1, 1, 2, 2], [0, -1, 0, -1]]
>>> [6, 11, 12, 17]Que s'est-il passé ?
Numpy regarde l'indice correspondant de chaque liste à l'intérieur du crochet [] et renvoie l'élément :
x[[1, 1, 2, 2], [0, -1, 0, -1]]
x[1, 0] # --> 6x[1, -1] # --> 11x[2, 0] # --> 12x[2, -1] # --> 17
Comment obtenir le premier et le dernier indice de toutes les lignes ?
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Défi
FacileÉtant donné un tableau 2D ary, récupérez tous les nombres divisibles par cinq sans reste (0, 5, 10, ...) avec les méthodes que nous avons apprises dans cette leçon.
Essayez vous-même
import numpy as np
'''
ary looks like:
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19]])
'''
ary = np.arange(0, 20).reshape(4, 5) # don't change ary
res = ary[] # <-- Complete indices
print(str(res).replace("\n", "")) # don't change this lineToutes les leçons de Les fondamentaux de Numpy
3Indexation de tableaux Numpy
Indexation de baseSlicingIndexation par tableauxIndexation dimensionnelleIndexation booléenneIndexation par conditions multiples