Asignar una función en NumPy

Muhammad Maisam Abbas 30 enero 2023
  1. Asignar una función en NumPy con la función numpy.vectorize()
  2. Asignar una función en NumPy con la palabra clave lambda en Python
Asignar una función en NumPy

Este tutorial presentará los métodos para mapear una función sobre un array NumPy en Python.

Asignar una función en NumPy con la función numpy.vectorize()

La función numpy.vectorize() mapea funciones en estructuras de datos que contienen una secuencia de objetos como matrices en Python. Aplica sucesivamente la función de entrada en cada elemento de la secuencia o matriz. El tipo de retorno de la función numpy.vectorize() está determinado por la función de entrada. Vea el siguiente ejemplo de código.

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)

Producción :

[1 0 1 0 1]

Primero creamos la array con la función np.array() y declaramos la función fun. Luego pasamos la función fun a la función np.vectorize() y almacenamos el resultado en vfunc. Después de eso, pasamos la array a la vfunc y almacenamos el resultado dentro del array result.

Asignar una función en NumPy con la palabra clave lambda en Python

La palabra clave lambda crea una función anónima en Python. Las funciones anónimas son útiles cuando solo necesitamos una función temporalmente en nuestro código. También podemos usar las funciones lambda para mapear una función sobre un array NumPy. Podemos pasar un array a la función lambda para aplicarla iterativamente sobre cada elemento del array.

import numpy as np

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


def lfunc(e):
    return e % 2


result = lfunc(array)
print(result)

Producción :

[1 0 1 0 1]

Primero creamos la array con la función np.array() y la función lambda lfunc con la palabra clave lambda. Luego mapeamos el lfunc al array pasando array a la función lfunc. Guardamos el resultado dentro del array result e imprimimos los valores dentro de ella.

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