Mapper une fonction dans NumPy

Muhammad Maisam Abbas 30 janvier 2023
  1. Mapper une fonction dans NumPy avec la fonction numpy.vectorize()
  2. Mapper une fonction dans NumPy avec le mot-clé lambda en Python
Mapper une fonction dans NumPy

Ce tutoriel présentera les méthodes pour mapper une fonction sur un tableau NumPy en Python.

Mapper une fonction dans NumPy avec la fonction numpy.vectorize()

La fonction numpy.vectorize() mappe des fonctions sur des structures de données qui contiennent une séquence d’objets comme des tableaux en Python. Il applique successivement la fonction d’entrée sur chaque élément de la séquence ou du tableau. Le type de retour de la fonction numpy.vectorize() est déterminé par la fonction d’entrée. Voir l’exemple de code suivant.

import numpy as np

array = np.array([1, 2, 3, 4, 5])


def fun(e):
    return e % 2


vfunc = np.vectorize(fun)

result = vfunc(array)
print(result)

Production:

[1 0 1 0 1]

Nous avons d’abord créé le array avec la fonction np.array() et déclaré la fonction fun. Ensuite, nous avons passé la fonction fun à la fonction np.vectorize() et stocké le résultat dans vfunc. Après cela, nous avons passé le tableau au vfunc et stocké le résultat dans le tableau result.

Mapper une fonction dans NumPy avec le mot-clé lambda en Python

Le mot clé lambda crée une fonction anonyme en Python. Les fonctions anonymes sont utiles lorsque nous n’avons besoin que temporairement d’une fonction dans notre code. Nous pouvons également utiliser les fonctions lambda pour mapper une fonction sur un tableau NumPy. Nous pouvons passer un tableau à la fonction lambda pour l’appliquer de manière itérative sur chaque élément du tableau.

import numpy as np

array = np.array([1, 2, 3, 4, 5])


def lfunc(e):
    return e % 2


result = lfunc(array)
print(result)

Production:

[1 0 1 0 1]

Nous avons d’abord créé le array avec la fonction np.array() et la fonction lambda lfunc avec le mot-clé lambda. Nous avons ensuite mappé le lfunc au array en passant array à la fonction lfunc. Nous avons enregistré le résultat dans le tableau result et imprimé les valeurs à l’intérieur.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn