Indexation avancée de NumPy

PythonPythonBeginner
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, vous allez découvrir l'indexation avancée de NumPy, qui est une technique utilisée pour sélectionner des éléments aléatoires de différentes lignes et colonnes d'un ndarray lorsque les éléments que vous souhaitez sélectionner ne sont pas dans un ordre particulier.

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 Notebook pour accéder à Jupyter Notebook pour la pratique.

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

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.

Importation des bibliothèques requises et création du tableau NumPy

Tout d'abord, nous devons importer la bibliothèque numpy et créer un tableau NumPy sur lequel nous allons effectuer une indexation avancée.

import numpy as np

x = np.array([[11, 28], [23, 84], [95, 56]])
print("Le tableau original")
print(x)

Dans le code ci-dessus, nous avons importé la bibliothèque numpy et créé un tableau NumPy que nous utiliserons pour l'indexation avancée.

Indexation entière

En utilisant l'indexation entière, nous pouvons sélectionner des éléments arbitraires sur la base de l'index N-dimensionnel. Chaque tableau d'entiers est utilisé pour représenter le nombre d'index dans cette dimension.

y = x[[0, 1, 2], [0, 0, 1]]
print("La sortie après indexation entière")
print(y)

Dans le code ci-dessus, nous effectuons une indexation entière sur le tableau NumPy x et créons un nouveau tableau y qui contiendra les éléments sélectionnés. Nous sélectionnons un élément de la colonne spécifiée dans chaque ligne du tableau NumPy x. L'index de ligne contient tous les numéros de ligne, et l'index de colonne spécifie l'élément à sélectionner.

Indexation booléenne

L'indexation booléenne est utilisée lorsque nous voulons sélectionner des éléments à partir d'un ndarray sur la base d'une certaine condition en utilisant des opérateurs de comparaison ou tout autre opérateur.

print("Les éléments supérieurs à 11 sont :")
print(x[x > 11])

Dans le code ci-dessus, nous effectuons une indexation booléenne sur le tableau NumPy x. Nous retournons les éléments du tableau NumPy x qui sont supérieurs à 11.

Combinaison de l'indexation avancée et de l'indexation de base

Nous pouvons combiner l'indexation avancée et l'indexation de base en utilisant une tranche (:) ou des points de suspension (...) avec un tableau d'index.

z = x[1:4, 1:3]
print("Après avoir utilisé une tranche de base")
print(z)

y = x[1:4, [1, 2]]
print("Après avoir effectué une tranche en utilisant l'index avancé pour la colonne")
print(y)

Dans le code ci-dessus, nous effectuons une tranche sur le tableau NumPy x. Nous utilisons une tranche de base et une indexation avancée pour la colonne.

Supprimer les valeurs Not a Number

Nous pouvons supprimer les valeurs Not a Number (NaN) en utilisant l'opérateur complémentaire (~).

a = np.array([np.nan, 1, 12, np.nan, 3, 41, 54])
print("Après avoir omis les NaN, le tableau de sortie est :")
print (a[~np.isnan(a)])

Dans le code ci-dessus, nous supprimons les valeurs Not a Number (NaN) du tableau NumPy a en utilisant l'opérateur complémentaire (~).

Supprimer les nombres non complexes

Nous pouvons filtrer les nombres non complexes d'un tableau à l'aide de la fonction iscomplex.

a = np.array([1, 2+6j, 5, 3.5+5j])
print("Après avoir filtré les nombres non complexes :")
print (a[np.iscomplex(a)])

Dans le code ci-dessus, nous filtrons les nombres non complexes du tableau NumPy a à l'aide de la fonction iscomplex.

Sommaire

Dans ce laboratoire, vous avez appris les différents types d'indexation avancée des éléments d'un ndarray dans la bibliothèque NumPy. Vous avez étudié quelques exemples pour différents types de cas d'utilisation de l'indexation avancée en NumPy. En utilisant cette technique, vous pouvez sélectionner des éléments aléatoires de différentes lignes et colonnes d'un tableau NumPy.