Existem dois métodos para aplicar qualquer função à matriz, dependendo da condição. Podemos aplicar a função “apply over the axis” que é útil quando aplicamos a função em cada elemento do array um por um, e é útil para os arrays n-dimensionais. O segundo método é “aplicar ao longo do eixo”, que se aplica a uma matriz unidimensional.
Sintaxe:
Método 1: Aplicar ao longo do eixo
numpy. apply_along_axis ( 1d_function , eixo , arr , *args , **quartos )Na sintaxe, temos a função “numpy.apply” para a qual passamos cinco argumentos. O primeiro argumento que é “1d_function” opera na matriz unidimensional, que é necessária. Enquanto o segundo argumento, o “eixo”, é aquele em qual eixo você deseja fatiar a matriz e aplicar essa função. O terceiro parâmetro é “arr”, que é o array dado ao qual queremos aplicar a função. Enquanto os “*args” e “*kwargs” são os argumentos adicionais que não são necessários adicionar.
Exemplo 1:
Avançando para uma melhor compreensão dos métodos “apply”, realizamos um exemplo para verificar o funcionamento dos métodos apply. Neste caso, executamos a função “apply_along_Axis”. Vamos ao nosso primeiro passo. Primeiro incluímos nossas bibliotecas NumPy como np. E então, criamos um array chamado “arr” que contém uma matriz 3×3 com valores inteiros que são “8, 1, 7, 4, 3, 9, 5, 2 e 6”. Na próxima linha, criamos uma variável chamada “array” que é responsável por guardar o resultado da função apply_along_Axis.
Para essa função, passamos três argumentos. A primeira é a função que queremos aplicar ao array, no nosso caso é a função ordenada porque queremos que nosso array seja ordenado. Em seguida, passamos o segundo argumento “1”, o que significa que queremos fatiar nossa matriz ao longo do eixo = 1. Por último, passamos o array que deve ser ordenado neste caso. No final do código, simplesmente imprimimos os dois arrays – o array original e o array resultante – que são exibidos usando a instrução print().
importar numpy Como por exemplo.
arr = por exemplo. variedade ( [ [ 8 , 1 , 7 ] , [ 4 , 3 , 9 ] , [ 5 , dois , 6 ] ] )
variedade = por exemplo. apply_along_axis ( ordenado , 1 , arr )
imprimir ( 'a matriz original é:' , arr )
imprimir ( 'o array ordenado é:' , variedade )
Como podemos ver na saída a seguir, exibimos os dois arrays. Na primeira, os valores são colocados aleatoriamente em cada linha da matriz. Mas no segundo, podemos ver o array ordenado. Desde que passamos o eixo “1”, ele não classificou a matriz completa, mas a classificou em linha, conforme exibido. Cada linha é classificada. A primeira linha na matriz fornecida é “8, 1 e 7”. Enquanto no array ordenado, a primeira linha é “1, 7 e 8”. Igual a isso, cada linha é classificada.
Método 2: Aplicar sobre o eixo
numpy. apply_over_axes ( função , uma , machados )Na sintaxe dada, temos a função numpy.apply_over_axis que é responsável por aplicar a função no eixo dado. Dentro da função apply_over_axis, passamos três argumentos. A primeira é a função a ser desempenhada. A segunda é a matriz em si. E o último é o eixo no qual queremos aplicar a função.
Exemplo 2:
No exemplo a seguir, executamos o segundo método da função “apply” na qual calculamos a soma da matriz tridimensional. Uma coisa a lembrar é que a soma de dois arrays não significa que calculamos o array inteiro. Em algumas das matrizes, calculamos a soma de linha, o que significa que adicionamos as linhas e obtemos o único elemento delas.
Vamos avançar para o nosso código. Primeiro importamos o pacote NumPy e depois criamos uma variável que contém o array tridimensional. No nosso caso, a variável é “arr”. Na próxima linha, criamos outra variável que contém o array resultante da função apply_over_axis. Atribuímos a função apply_over_Axis à variável “arr” com três argumentos. O primeiro argumento é a função interna do NumPy para calcular a soma que é np.sum. O segundo parâmetro é o próprio array. O terceiro argumento é o eixo sobre o qual a função é aplicada, neste caso temos o eixo “[0, 2]”. No final do código, executamos os dois arrays usando a instrução print().
importar numpy Como por exemplo.arr = por exemplo. variedade ( [ [ [ 6 , 12 , dois ] , [ dois , 9 , 6 ] , [ 18 , 0 , 10 ] ] ,
[ [ 12 , 7 , 14 ] , [ dois , 17 , 18 ] , [ 0 , vinte e um , 8 ] ] ] )
variedade = por exemplo. apply_over_axes ( por exemplo. soma , arr , [ 0 , dois ] )
imprimir ( 'a matriz original é:' , arr )
imprimir ( 'a soma da matriz é:' , variedade )
Conforme mostrado na figura a seguir, calculamos alguns de nossos arrays tridimensionais usando a função apply_over_axis. A primeira matriz exibida é a matriz original com a forma de “2, 3, 3” e a segunda é a soma das linhas. A soma da primeira linha é “53”, a segunda é “54” e a última é “57”.
Conclusão
Neste artigo, estudamos como a função apply é usada no NumPy e como podemos aplicar as diferentes funções em arrays ao longo ou sobre o eixo. É fácil aplicar qualquer função na linha ou coluna desejada, cortando-as usando os métodos “apply” fornecidos pelo NumPy. É uma maneira eficiente quando não precisamos aplicá-la a todo o array. Esperamos que você ache esta postagem útil para aprender a utilizar o método de aplicação.