Indexation et découpage en NumPy

NumPyNumPyBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons aborder les concepts d'indexation et de découpage dans la bibliothèque Numpy de Python. Nous apprendrons à accéder, modifier et extraire une plage d'éléments d'un tableau. Différentes méthodes d'indexation dans la bibliothèque Numpy seront également expliquées et démontrées à l'aide d'exemples.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder au carnet Jupyter pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet Jupyter.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.

Comprendre les bases

  • Dans un tableau NumPy, le découpage est essentiellement le moyen d'extraire une plage d'éléments d'un tableau.
  • Les éléments de l'objet ndarray suivent toujours un index basé sur zéro.
  • Pour accéder et modifier le contenu de l'objet ndarray dans la bibliothèque Numpy, l'indexation ou le découpage peut être effectué de la même manière que pour un objet conteneur intégré à Python.

Découpage de tableaux NumPy

  • Le découpage dans un tableau est effectué de la même manière que dans une liste Python.
  • Si un tableau a 100 éléments et que vous ne voulez sélectionner que une partie des valeurs, vous pouvez effectuer un découpage et extraire l'ensemble requis de valeurs à partir du ndarray complet.
  • Apprenez le découpage des listes Python et vous pouvez l'appliquer aux ndarrays NumPy.

Indexation de tableaux NumPy

  • Il existe trois types de méthodes d'indexation disponibles dans la bibliothèque NumPy :
    • Accès au champ - Il s'agit d'un accès direct au champ en utilisant l'index de la valeur.
    • Découpage basique - Le découpage basique est simplement une extension du concept de découpage de base de Python aux n dimensions.
    • Indexation avancée (non couverte dans ce laboratoire)

Exemples

  • Passons par quelques exemples pour mieux comprendre ces concepts.

Exemple 1 - Découpage d'un ndarray

import numpy as np

a = np.arange(10)
print("Le ndarray est :")
print(a)

s = slice(2,7,2)
print("Après avoir appliqué la fonction slice() :")
print (a[s])
  • Le code ci-dessus prépare un objet ndarray à l'aide de la fonction arange().
  • Un objet slice est défini avec les valeurs de début, de fin et d'incrément 2, 7 et 2 respectivement.
  • Ensuite, cet objet slice est passé à l'ndarray. Une partie de celui-ci, commençant à l'index 2 jusqu'à 7 avec une valeur d'incrément de 2, sera découpée.

Exemple 2 - Découpage d'un seul élément

import numpy as np

a = np.arange(15)
print("Le tableau est :")
print(a)

## en utilisant directement l'index
b = a[7]
print("Le huitième élément du tableau est :")
print (b)
  • Le code ci-dessus découpe un seul élément de l'objet ndarray.
  • Il est très facile de découper un seul tableau à l'aide de l'indexation.

Exemple 3

import numpy as np

a = np.arange(20)
print("Le tableau est :")
print(a)

print("Découpage des éléments à partir de l'index :")
print(a[2:])
  • Le code ci-dessus découpe les éléments à partir d'un index donné jusqu'au dernier index ou au dernier élément.

Exemple 4

import numpy as np

a = np.arange(20)
print("Le tableau est :")
print(a)

print("Découpage des éléments entre deux index donnés :")
print(a[2:8])
  • Le code ci-dessus découpe tous les éléments entre deux index donnés.
  • Il exclut la valeur à l'index final.

Utilisation des points de suspension

  • Lors du découpage, les points de suspension (...) sont utilisés pour créer un tuple de sélection de la même longueur que la dimension d'un tableau.
  • Pour un ndarray multidimensionnel, si les points de suspension sont utilisés à la position des lignes, il renverra un ndarray composé d'éléments dans les lignes et de même pour les colonnes.
import numpy as np
a = np.array([[11,2,23],[33,44,5],[84,25,16]])

print ("Le tableau est :")
print (a )
print ('\n')

#Pour renvoyer le tableau des éléments de la deuxième colonne
print ('Les éléments de la deuxième colonne sont:')
print (a[..., 1] )
print ('\n')

#Pour découper tous les éléments de la deuxième ligne
print ('Les éléments de la deuxième ligne sont:')
print (a[1,...])
print ('\n')

#Pour découper tous les éléments à partir de la colonne 1
print ('Les éléments à partir de la colonne 1 sont:' )
print (a[..., 1:])

Sommaire

Dans ce laboratoire, nous avons abordé le concept d'indexation et de découpage dans la bibliothèque Numpy. Nous avons appris différentes méthodes d'indexation dans la bibliothèque Numpy et diverses méthodes de découpage de tableaux. Nous avons également vu des exemples illustrant la mise en œuvre pratique de ces concepts.