Guia rápido para NumPy Ufuncs
Neste artigo, discutiremos os ufuncs do NumPy em detalhes, incluindo sua sintaxe, o que são, como funcionam e como usá-los efetivamente em Python.
NumPy ufuncs – O que são?
NumPy Ufuncs são essencialmente funções que operam em arrays de maneira elementar, o que significa que eles executam a mesma operação em cada elemento de um array.
Isso é diferente das funções regulares do Python , que normalmente operam em elementos individuais, um de cada vez.
É referido como Ufunc , que significa Universal Functions in NumPy. De acordo com Numpy Ufunc, são funções NumPy que executam operações no objeto ndarray .
O NumPy fornece uma ampla gama de ufuncs para realizar operações matemáticas e lógicas em arrays, incluindo funções aritméticas como adição , subtração , multiplicação e divisão , bem como funções trigonométricas , funções exponenciais e muito mais.
Aqui está uma breve visão geral de alguns dos ufuncs mais usados no NumPy:
Funções | Visão geral |
np.add | Adiciona dois arrays elemento a elemento. |
np.subtract | Subtrai dois arrays elemento a elemento. |
np.multiply | Multiplica duas matrizes elemento a elemento. |
np.divide | Divide duas matrizes elemento a elemento. |
np.sin | Calcula o seno de cada elemento em uma matriz. |
np.cos | Calcula o cosseno de cada elemento em uma matriz. |
np.exp | Calcula o exponencial de cada elemento em uma matriz. |
np.log | Calcula o logaritmo natural de cada elemento em uma matriz. |
Por que usar NumPy ufuncs?
É importante observar que ufuncs são utilizados para realizar a vetorização no NumPy, o que é muito mais eficiente do que iterar sobre objetos.
Além disso, eles fornecem difusão e métodos adicionais como reduzir, acumular, etc., que são muito úteis no processo de computação.
Além disso, o ufuncs aceita os seguintes argumentos:
argumentos | Visão geral |
onde | é uma matriz ou expressão booleana que indica onde as operações devem ocorrer. |
dtype | especifica o tipo de retorno do objeto. |
fora | a matriz de resultados para a qual copiar o valor do resultado. |
O que é Vetorização?
No Numpy Ufunc, a técnica de transformar instruções iterativas em ações baseadas em vetores é conhecida como vetorização.
Devido ao fato de as CPUs modernas serem projetadas especificamente para tais operações, elas são mais eficientes do que antes.
Adicionar os elementos de duas listas
even list: [0, 2, 4, 6, 8, 10] odd list: [1, 3, 5, 7, 9, 11]
É possível adicionar todos os itens ao Numpy Ufunc percorrendo as duas listas .
Também podemos utilizar o método zip() integrado do Python para somar duas listas em vez de ufunc:
Example:
Exemplo de Explicação
O exemplo acima define duas listas de números: even_list e odd_list , que contêm inteiros pares e ímpares, respectivamente. O código então cria uma lista vazia chamada list_sum .
Usando um loop for , ele itera sobre os elementos de even_list e odd_list simultaneamente usando a função integrada zip() e adiciona os elementos correspondentes juntos. A soma de cada par de elementos é anexada a list_sum .
Finalmente, o código imprime os valores armazenados em list_sum. A saída será uma nova lista com o mesmo comprimento de lista_evento e lista_impar, onde cada elemento é a soma dos elementos correspondentes das duas listas originais. Abaixo está uma imagem da saída:
Agora crie duas listas reversas e adicione-as com o método zip() :
Example:
Existe uma função interna do NumPy que pode ser utilizada para fazer isso, conhecida como add(x, y), que irá gerar o mesmo resultado.
No Numpy podemos utilizar a função add() na adição de duas listas:
Example:
Aplique o ufunc add() e some as duas listas de números reversos:
Example:
Exemplo de Explicação
O exemplo acima demonstra como adicionar duas listas elemento a elemento usando a função add do NumPy.
Primeiro, duas listas reverse_list1 e reverse_list2 são definidas com valores inteiros.
Em seguida, a função add da biblioteca NumPy é usada para adicionar as duas listas elemento a elemento, resultando em uma nova lista chamada list_sum.