Numpy Aplicar função

Numpy Aplicar função
A biblioteca integrada oferecida pela Python, conhecida como Numpy, nos permite construir as matrizes multidimensionais, modificá-las e executar vários cálculos aritméticos neles. A aplicação da função também é fornecida pelo pacote Numpy. O caso de uso típico para a função Aplicar é semelhante ao cenário em que queremos cortar uma matriz e executar algumas operações em cada elemento de uma lista, por exemplo, se queremos recarregar cada item de uma linha. Obviamente, em Python, sabemos que os maios são lentos, então gostaríamos de evitá-los se possível. A função "Aplicar" pode ser usada se você quiser fazer a mesma operação em cada linha ou coluna de um quadro de dados. Em outras palavras, faz o que você quer fazer com um loop for sem ter que escrever um loop for.

Existem dois métodos para aplicar qualquer função à matriz, dependendo da condição. Podemos aplicar a função "Aplicar sobre o eixo", que é útil quando aplicamos a função em cada elemento da matriz um por um, e é útil para as matrizes N-dimensionais. O segundo método é "Aplicar ao longo do eixo", que se aplica a uma matriz unidimensional.

Sintaxe:

Método 1: aplique ao longo do eixo

Numpy.APPLE_ALONG_AXIS (1D_FUNCTION, EXIS, ARR, *ARGS, ** KWARGS)

Na sintaxe, temos o “Numpy.aplicar ”função à 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 que eixo você deseja cortar a matriz e aplicar essa função. O terceiro parâmetro é "arr", que é a matriz dada à qual queremos aplicar a função. Enquanto os "*args" e "*kwargs" são os argumentos adicionais que não são necessários para adicionar.

Exemplo 1:

Movendo -se para uma melhor compreensão dos métodos "Aplicar", realizamos um exemplo para verificar o funcionamento dos métodos de aplicação. Nesse caso, executamos a função "APPLA_ALONG_AXIS". Vamos prosseguir para o nosso primeiro passo. Primeiro incluímos nossas bibliotecas Numpy como NP. E então, criamos uma matriz chamada "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", responsável por manter o resultado da função Apply_along_axis.

Para essa função, passamos três argumentos. O primeiro é a função que queremos aplicar à matriz, no nosso caso, é a função classificada porque queremos que nossa matriz seja classificada. Então, passamos pelo segundo argumento "1", o que significa que queremos cortar nossa matriz ao longo do eixo = 1. Laslty, passamos a matriz que deve ser classificada neste caso. No final do código, simplesmente imprimimos as duas matrizes - a matriz original e a matriz resultante - que são exibidas usando a instrução print ().

importar numpy como np
arr = np.Array ([[8,1,7], [4,3,9], [5,2,6]]))
Array = np.APPL_ALONG_AXIS (classificado, 1, arr)
print ("A matriz original é:", arr)
print ("A matriz classificada é:", Array)

Como podemos ver na saída a seguir, exibimos as duas matrizes. No primeiro, os valores são colocados aleatoriamente em cada linha da matriz. Mas no segundo, podemos ver a matriz classificada. Desde que passamos o eixo "1", ele não resolveu a matriz completa, mas a classificou em termos de linha como exibido. Cada linha é classificada. A primeira linha na matriz dada é "8, 1 e 7". Enquanto estiver na matriz classificada, a primeira linha é "1, 7 e 8". O mesmo, cada linha é classificada.

Método 2: aplique sobre o eixo

Numpy.APPLE_OVER_AXES (func, a, eixos)

Na sintaxe dada, temos Numpy.Função Aplicação_over_axis, responsável por aplicar a função no eixo especificado. Dentro da função Apply_over_axis, passamos três argumentos. O primeiro é a função que deve ser desempenhada. O segundo é a própria matriz. E o último é o eixo no qual queremos aplicar a função.

Exemplo 2:

No caso seguinte, executamos o segundo método da função "Aplicar" na qual calculamos a soma da matriz tridimensional. Uma coisa a lembrar é que a soma de duas matrizes não significa que calculamos toda a matriz. Em algumas das matrizes, calculamos a soma em linha, o que significa que adicionamos as linhas e tiramos o único elemento deles.

Vamos avançar para o nosso código. Primeiro importamos o pacote Numpy e depois criamos uma variável que contém a matriz tridimensional. No nosso caso, a variável é "arr". Na próxima linha, criamos outra variável que mantém a matriz resultante da Função Aplicação_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.soma. O segundo parâmetro é a própria matriz. 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 as duas matrizes usando a instrução print ().

importar numpy como np
arr = np.Array ([[[6, 12, 2], [2, 9, 6], [18, 0, 10]],
[[12, 7, 14], [2, 17, 18], [0, 21, 8]]))
Array = np.APLIC_OVER_AXES (NP.soma, arr, [0,2])
print ("A matriz original é:", arr)
Print ("A soma da matriz é:", Array)

Conforme mostrado na figura a seguir, calculamos algumas de nossas matrizes 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 fila é "53", a segunda é "54" e a última é "57".

Conclusão

Neste artigo, estudamos como a função Aplicar é usada em Numpy e como podemos aplicar as diferentes funções nas matrizes ao longo ou sobre o eixo. É fácil aplicar qualquer função na linha ou coluna desejada, cortando -as usando os métodos "Aplicar" fornecidos pela Numpy. É uma maneira eficiente quando não precisamos aplicá -lo a toda a matriz. Esperamos que você ache este post benéfico para aprender a utilizar o método de aplicação.