¿Cómo mapear una función sobre NumPy Array?

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *