Función de aplicación Numpy

Función de aplicación Numpy
La biblioteca incorporada ofrecida por Python, conocida como Numpy, nos permite construir las matrices multidimensionales, modificarlas y realizar varios cálculos aritméticos en ellas. Aplicar la función también es proporcionada por el paquete Numpy. El caso de uso típico para la función Aplicar es similar al escenario en el que queremos cortar una matriz y realizar algunas operaciones en cada elemento de una lista, por ejemplo, si queremos cuadrar cada elemento de una fila. Por supuesto, en Python, sabemos que los bucles son lentos, por lo que nos gustaría evitarlos si es posible. La función "Aplicar" se puede utilizar si desea hacer la misma operación en cada fila o columna de un marco de datos. En otras palabras, hace lo que quieres hacer con un for-bucle sin tener que escribir un bucle.

Hay dos métodos para aplicar cualquier función a la matriz dependiendo de la condición. Podemos aplicar la función "Aplicar sobre el eje" que es útil cuando aplicamos la función en cada elemento de la matriz uno por uno, y es útil para las matrices n-dimensionales. El segundo método es "aplicar a lo largo del eje" que se aplica a una matriz unidimensional.

Sintaxis:

Método 1: Aplicar a lo largo del eje

numpy.Aplicar_along_axis (1D_Function, eje, arr, *args, ** kwargs)

En la sintaxis, tenemos el "Numpy.Aplicar la función de la cual pasamos cinco argumentos. El primer argumento que es "1D_Function" funciona en la matriz unidimensional, que se requiere. Mientras que el segundo argumento, el "eje", es el que en qué eje desea cortar la matriz y aplicar esa función. El tercer parámetro es "arr", que es la matriz dada a la que queremos aplicar la función. Mientras que los "*args" y "*kwargs" son los argumentos adicionales que no son necesarios para agregar.

Ejemplo 1:

Avanzando hacia una mejor comprensión de los métodos de "aplicar", realizamos un ejemplo para verificar el funcionamiento de los métodos de aplicación. En este caso, realizamos la función "Aplicar_along_axis". Pasemos a nuestro primer paso. Primero incluimos nuestras bibliotecas numpy como NP. Y luego, creamos una matriz llamada "ARR" que contiene una matriz 3 × 3 con valores enteros que son "8, 1, 7, 4, 3, 9, 5, 2 y 6" ". En la siguiente línea, creamos una variable llamada "matriz" que es responsable de mantener el resultado de la función APLICE_ALONG_AXIS.

A esa función, pasamos tres argumentos. La primera es la función que queremos aplicar a la matriz, en nuestro caso es la función ordenada porque queremos que nuestra matriz se clasifique. Luego, pasamos el segundo argumento "1", lo que significa que queremos cortar nuestra matriz a lo largo del eje = 1. Laslty, pasamos la matriz que se clasificará en este caso. Al final del código, simplemente imprimimos ambas matrices, la matriz original y la matriz resultante, que se muestran utilizando la instrucción print ().

importar numpy como np
arr = np.Array ([[8,1,7], [4,3,9], [5,2,6]])
matriz = np.Aplicar_along_axis (ordenado, 1, arr)
Imprimir ("La matriz original es:", arr)
imprimir ("La matriz ordenada es:", matriz)

Como podemos ver en la siguiente salida, mostramos ambas matrices. En el primero, los valores se colocan aleatoriamente en cada fila de la matriz. Pero en el segundo, podemos ver la matriz ordenada. Desde que pasamos el eje "1", no ha ordenado la matriz completa, pero lo ordenó en cuanto a la fila como se muestra. Cada fila está ordenada. La primera fila en la matriz dada es "8, 1 y 7". Mientras está en la matriz ordenada, la primera fila es "1, 7 y 8". Igual que este, cada fila está ordenado.

Método 2: aplicar sobre el eje

numpy.APLICE_OVER_AXES (FUNC, A, AXES)

En la sintaxis dada, tenemos Numpy.Función APLICE_OVER_AXIS que es responsable de aplicar la función en el eje dado. Dentro de la función APLICE_OVER_AXIS, pasamos tres argumentos. El primero es la función que se realizará. El segundo es la matriz en sí. Y el último es el eje en el que queremos aplicar la función.

Ejemplo 2:

En la siguiente instancia, realizamos el segundo método de la función "Aplicar" en la que calculamos la suma de la matriz tridimensional. Una cosa para recordar es que la suma de dos matrices no significa que calculemos toda la matriz. En algunas de las matrices, calculamos la suma en términos de fila, lo que significa que agregamos las filas y obtenemos el elemento único de ellas.

Avancemos a nuestro código. Primero importamos el paquete Numpy y luego creamos una variable que contiene la matriz tridimensional. En nuestro caso, la variable es "arr". En la siguiente línea, creamos otra variable que contiene la matriz resultante de la función APLICA. Asignamos la función APLICE_OVER_AXIS a la variable "ARR" con tres argumentos. El primer argumento es la función incorporada de Numpy para calcular la suma que es NP.suma. El segundo parámetro es la matriz en sí. El tercer argumento es el eje sobre el cual se aplica la función, en este caso tenemos el eje "[0, 2]". Al final del código, ejecutamos ambas matrices usando la instrucción 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]]])
matriz = np.Aplicar_over_axes (NP.Sum, arr, [0,2])
Imprimir ("La matriz original es:", arr)
imprimir ("La suma de la matriz es:", matriz)

Como se muestra en la siguiente figura, calculamos algunas de nuestras matrices tridimensionales utilizando la función APLICE_OVER_AXIS. La primera matriz mostrada es la matriz original con la forma de "2, 3, 3" y la segunda es la suma de las filas. La suma de la primera fila es "53", la segunda es "54" y la última es "57".

Conclusión

En este artículo, estudiamos cómo se usa la función de aplicación en Numpy y cómo podemos aplicar las diferentes funciones en matrices a lo largo o sobre el eje. Es fácil aplicar cualquier función en la fila o columna deseada cortando los métodos "Aplicar" proporcionados por Numpy. Es una forma eficiente cuando no tenemos que aplicarlo a toda la matriz. Esperamos que encuentre esta publicación beneficiosa para aprender a utilizar el método de aplicación.