Mapear uma função no NumPy
-
Mapeie uma função em NumPy com a função
numpy.vectorize()
-
Mapeie uma função em NumPy com a palavra-chave
lambda
em Python
Este tutorial irá apresentar os métodos para mapear uma função em um array NumPy em Python.
Mapeie uma função em NumPy com a função numpy.vectorize()
A função numpy.vectorize()
mapeia funções em estruturas de dados que contêm uma sequência de objetos como arrays em Python. Ele aplica sucessivamente a função de entrada em cada elemento da sequência ou matriz. O tipo de retorno da função numpy.vectorize()
é determinado pela função de entrada. Veja o seguinte exemplo 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)
Resultado:
[1 0 1 0 1]
Primeiro criamos o array
com a função np.array()
e declaramos a função fun
. Em seguida, passamos a função fun
para a função np.vectorize()
e armazenamos o resultado em vfunc
. Depois disso, passamos o array
para o vfunc
e armazenamos o resultado dentro do array result
.
Mapeie uma função em NumPy com a palavra-chave lambda
em Python
A palavra-chave lambda
cria uma função anônima em Python. Funções anônimas são úteis quando precisamos apenas de uma função temporariamente em nosso código. Também podemos usar as funções lambda para mapear uma função em um array NumPy. Podemos passar um array para a função lambda para aplicar iterativamente em cada elemento do array.
import numpy as np
array = np.array([1, 2, 3, 4, 5])
def lfunc(e):
return e % 2
result = lfunc(array)
print(result)
Resultado:
[1 0 1 0 1]
Primeiro criamos o array
com a função np.array()
e a função lambda lfunc
com a palavra-chave lambda
. Em seguida, mapeamos o lfunc
para o array
passando array
para a função lfunc
. Salvamos o resultado dentro do array result
e imprimimos os valores dentro dele.
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