Fonction d'application NumPy

Fonction D Application Numpy



La bibliothèque intégrée offerte par Python, connue sous le nom de NumPy, nous permet de construire les tableaux multidimensionnels, de les modifier et d'effectuer divers calculs arithmétiques sur eux. La fonction Apply est également fournie par le package NumPy. Le cas d'utilisation typique de la fonction apply est similaire au scénario où nous voulons découper un tableau et effectuer certaines opérations sur chaque élément d'une liste, par exemple, si nous voulons équarrir chaque élément d'une ligne. Bien sûr, en Python, nous savons que les boucles for sont lentes, nous aimerions donc les éviter si possible. La fonction 'appliquer' peut être utilisée si vous souhaitez effectuer la même opération sur chaque ligne ou colonne d'un bloc de données. En d'autres termes, il fait ce que vous voulez faire avec une boucle for sans avoir à écrire une boucle for.

Il existe deux méthodes pour appliquer une fonction au tableau en fonction de la condition. Nous pouvons appliquer la fonction 'appliquer sur l'axe' qui est utile lorsque nous appliquons la fonction sur chaque élément du tableau un par un, et elle est utile pour les tableaux à n dimensions. La deuxième méthode est 'appliquer le long de l'axe' qui s'applique à un tableau unidimensionnel.

Syntaxe:

Méthode 1 : appliquer le long de l'axe

numpy. appliquer_le long_de l'axe ( 1d_fonction , axe , arr , *arguments , **quargs )

Dans la syntaxe, nous avons la fonction « numpy.apply » à laquelle nous passons cinq arguments. Le premier argument qui est « 1d_function » fonctionne sur le tableau unidimensionnel, ce qui est requis. Alors que le deuxième argument, 'l'axe', est celui sur quel axe voulez-vous découper le tableau et appliquer cette fonction. Le troisième paramètre est 'arr' qui est le tableau donné auquel nous voulons appliquer la fonction. Alors que les '*args' et '*kwargs' sont les arguments supplémentaires qu'il n'est pas nécessaire d'ajouter.







Exemple 1:

En allant vers une meilleure compréhension des méthodes 'apply', nous effectuons un exemple pour vérifier le fonctionnement des méthodes apply. Dans ce cas, nous exécutons la fonction 'apply_along_Axis'. Passons à notre première étape. Nous incluons d'abord nos bibliothèques NumPy en tant que np. Et puis, nous créons un tableau nommé 'arr' qui contient une matrice 3 × 3 avec des valeurs entières qui sont '8, 1, 7, 4, 3, 9, 5, 2 et 6'. Dans la ligne suivante, nous créons une variable nommée 'array' qui est chargée de contenir le résultat de la fonction apply_along_Axis.



A cette fonction, nous passons trois arguments. La première est la fonction que nous voulons appliquer au tableau, dans notre cas c'est la fonction triée car nous voulons que notre tableau soit trié. Ensuite, nous passons le deuxième argument '1' ce qui signifie que nous voulons découper notre tableau le long de l'axe = 1. Enfin, nous passons le tableau qui doit être trié dans ce cas. À la fin du code, nous imprimons simplement les deux tableaux - le tableau d'origine ainsi que le tableau résultant - qui sont affichés à l'aide de l'instruction print ().



importer numpy comme par exemple.

arr = par exemple. déployer ( [ [ 8 , 1 , sept ] , [ 4 , 3 , 9 ] , [ 5 , deux , 6 ] ] )

déployer = par exemple. appliquer_le long_de l'axe ( trié , 1 , arr )

imprimer ( 'le tableau d'origine est :' , arr )

imprimer ( 'le tableau trié est :' , déployer )





Comme nous pouvons le voir dans la sortie suivante, nous avons affiché les deux tableaux. Dans le premier, les valeurs sont placées aléatoirement dans chaque ligne de la matrice. Mais dans le second, nous pouvons voir le tableau trié. Depuis que nous avons passé l'axe '1', il n'a pas trié le tableau complet mais il l'a trié par ligne comme affiché. Chaque ligne est triée. La première ligne du tableau donné est '8, 1 et 7'. Dans le tableau trié, la première ligne est '1, 7 et 8'. Comme cela, chaque ligne est triée.



Méthode 2 : appliquer sur l'axe

numpy. appliquer_sur_axes ( fonction , un , axes )

Dans la syntaxe donnée, nous avons la fonction numpy.apply_over_axis qui est responsable de l'application de la fonction sur l'axe donné. Dans la fonction apply_over_axis, nous passons trois arguments. Le premier est la fonction qui doit être exécutée. Le second est le tableau lui-même. Et le dernier est l'axe sur lequel on veut appliquer la fonction.

Exemple 2 :

Dans l'exemple suivant, nous exécutons la deuxième méthode de la fonction 'appliquer' dans laquelle nous calculons la somme du tableau tridimensionnel. Une chose à retenir est que la somme de deux tableaux ne signifie pas que nous calculons le tableau entier. Dans certains des tableaux, nous calculons la somme par ligne, ce qui signifie que nous ajoutons les lignes et en extrayons l'élément unique.

Passons à notre code. Nous importons d'abord le package NumPy, puis créons une variable contenant le tableau tridimensionnel. Dans notre cas, la variable est « arr ». Dans la ligne suivante, nous créons une autre variable qui contient le tableau résultant de la fonction apply_over_axis. Nous attribuons la fonction apply_over_Axis à la variable « arr » avec trois arguments. Le premier argument est la fonction intégrée de NumPy pour calculer la somme qui est np.sum. Le deuxième paramètre est le tableau lui-même. Le troisième argument est l'axe sur lequel la fonction est appliquée, dans ce cas nous avons l'axe '[0, 2]'. À la fin du code, nous exécutons les deux tableaux à l'aide de l'instruction print().

importer numpy comme par exemple.

arr = par exemple. déployer ( [ [ [ 6 , 12 , deux ] , [ deux , 9 , 6 ] , [ 18 , 0 , dix ] ] ,

[ [ 12 , sept , 14 ] , [ deux , 17 , 18 ] , [ 0 , vingt-et-un , 8 ] ] ] )

déployer = par exemple. appliquer_sur_axes ( par exemple. somme , arr , [ 0 , deux ] )

imprimer ( 'le tableau d'origine est :' , arr )

imprimer ( 'la somme du tableau est :' , déployer )

Comme le montre la figure suivante, nous avons calculé certains de nos tableaux tridimensionnels à l'aide de la fonction apply_over_axis. Le premier tableau affiché est le tableau d'origine avec la forme '2, 3, 3' et le second est la somme des lignes. La somme de la première ligne est '53', la seconde est '54' et la dernière est '57'.

Conclusion

Dans cet article, nous avons étudié comment la fonction apply est utilisée dans NumPy et comment nous pouvons appliquer les différentes fonctions sur des tableaux le long ou au-dessus de l'axe. Il est facile d'appliquer n'importe quelle fonction sur la ligne ou la colonne souhaitée en les découpant à l'aide des méthodes 'appliquer' fournies par NumPy. C'est un moyen efficace lorsque nous n'avons pas à l'appliquer à l'ensemble du tableau. Nous espérons que vous trouverez cet article utile pour apprendre à utiliser la méthode d'application.