En este artículo, veremos cómo mapear una función sobre una array NumPy en Python.
Método 1: método numpy.vectorize()
La función numpy.vectorize() asigna funciones en estructuras de datos que contienen una secuencia de objetos como arrays NumPy. La secuencia anidada de objetos o arrays NumPy como entradas y devuelve una sola array NumPy o una tupla de arrays NumPy.
Python3
import numpy as np arr = np.array([1, 2, 3, 4, 5]) def addTwo(i): return i+2 applyall = np.vectorize(addTwo) res = applyall(arr) print(res)
Producción:
[3 4 5 6 7]
Explicación: la función se pasa al método vectorizado y nuevamente se le pasa la array y la función devolverá la array en la que se aplica la array.
Método 2: Usar la función lambda
La lambda es una función anónima, toma cualquier número de argumentos pero evalúa una expresión.
Python3
import numpy as np arr = np.array([1, 2, 3, 4, 5]) def applyall(i): return i + 2 res = applyall(arr) print(res)
Producción:
[3 4 5 6 7]
Método 3: usar una array como parámetro de una función para mapear una array NumPy
Podemos mapear una función sobre una array NumPy simplemente pasando la array a la función.
Python3
import numpy as np arr = np.array([1, 2, 3, 4, 5]) def applyall(a): return a+2 res = applyall(arr) print(res)
Producción:
[3 4 5 6 7]
Explicación: la array se pasa al método applyall() y asignará la función a la array completa y se devolverá la array resultante.
Publicación traducida automáticamente
Artículo escrito por pulamolusaimohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA