Mapear uma função no NumPy

Muhammad Maisam Abbas 30 janeiro 2023
  1. Mapeie uma função em NumPy com a função numpy.vectorize()
  2. Mapeie uma função em NumPy com a palavra-chave lambda em Python
Mapear uma função no NumPy

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.

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