Fonction de partition 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 la fonction numpy.partition() de la bibliothèque Numpy. Cette fonction est utilisée pour diviser le tableau d'entrée selon les arguments donnés et renvoie une copie du tableau d'entrée partitionné. La fonction numpy.partition() est utile lorsque nous voulons rapidement trouver l'élément k-ième le plus petit ou le plus grand dans un tableau, sans trier tout le tableau.

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.

Import de la bibliothèque Numpy

Tout d'abord, nous devons importer la bibliothèque Numpy, qui est couramment utilisée pour travailler avec des tableaux et des matrices en Python.

import numpy as np

Créer un tableau d'entrée

Ensuite, nous allons créer un tableau d'entrée à l'aide de la méthode array() de Numpy. Ce tableau sera le point de départ pour utiliser la fonction numpy.partition() dessus.

inp_ar = np.array([2, 0, 1, 5, 4, 9, 78, 34])
print("Le tableau d'entrée :")
print(inp_ar)

Partitionner le tableau

Maintenant, nous allons utiliser la fonction numpy.partition() pour partitionner le tableau d'entrée inp_ar autour du 5e nombre le plus petit. Nous allons également afficher le tableau partitionné résultant.

output = np.partition(inp_ar, 5)
print("Le tableau partitionné :")
print(output)

Partitionner un tableau avec plusieurs valeurs k-ièmes

La fonction numpy.partition() permet également de partitionner autour de plusieurs valeurs k-ièmes. Dans cet exemple, nous allons partitionner un tableau autour des 1er et 3e nombres les plus petits.

arr = np.array([7, 4, 8, 1, 10, 13])
print("Le tableau d'entrée :")
print(arr)

output = np.partition(arr, (1, 3))
print("Le tableau partitionné :")
print(output)

Spécifier l'axe, le type et l'ordre

La fonction numpy.partition() a également des paramètres optionnels qui vous permettent de spécifier sur lequel axe effectuer la partition, le type de tri à effectuer et l'ordre dans lequel comparer les champs. Dans cet exemple, nous allons utiliser ces paramètres optionnels pour partitionner un tableau 2D le long du second axe et spécifier le type de tri et l'ordre.

arr_2d = np.array([[4, 5, 2], [3, 1, 6]])
print("Le tableau 2D d'entrée :")
print(arr_2d)

output = np.partition(arr_2d, 1, axis=1, kind='heapsort', order=('col1', 'col2', 'col0'))
print("Le tableau 2D partitionné :")
print(output)

Partitionner avec une valeur k-ième négative

La fonction numpy.partition() peut également gérer les valeurs négatives du paramètre kth. Dans cet exemple, nous allons partitionner un tableau autour du -2e nombre le plus petit.

arr = np.array([9, 3, 4, 1, 6])
print("Le tableau d'entrée :")
print(arr)

output = np.partition(arr, -2)
print("Le tableau partitionné :")
print(output)

Sommaire

Dans ce laboratoire, vous avez appris à connaître la fonction numpy.partition() de la bibliothèque Numpy. Nous avons vu comment créer un tableau d'entrée, le partitionner à l'aide de la fonction numpy.partition(), partitionner autour de plusieurs valeurs k-ièmes, spécifier l'axe, le type et l'ordre, et gérer les valeurs k-ièmes négatives. La fonction numpy.partition() est utile lorsqu'il s'agit de traiter de grands tableaux et de vouloir rapidement trouver l'élément k-ième le plus petit ou le plus grand sans trier tout le tableau.