Numpy incluye un conjunto de funciones matemáticas y estadísticas que pueden ser aplicadas a todo un array, a una dimensión de un array o a varias dimensiones de un array. Todas estas funciones aceptan como argumento de entrada un array NumPy o una estructura "tipo array" (lista, tupla...):
mean
La función numpy.mean calcula la media aritmética de los valores del array a lo largo de los ejes especificados. Para ver cómo se aplica, partimos del siguiente array de tres dimensiones:
Aplicamos la función al array sin especificar el eje, con lo que la función se aplica a todos los elementos del array (como si se aplanase el array):
Especificamos ahora que la media se aplique solo al eje 0 (eje vertical sobre el que se encuentran, por ejemplo, los valores 1, 10 y 19 del array):
El resultado es un array de dos dimensiones, resultado de "agregar" las diferentes columnas de datos aplicando la función mean. Así, para la columna formada por los números 1, 10 y 19 ya mencionada, el valor medio es 10. El eje horizontal de este resultado es el correspondiente al eje de profundidad (eje 2) del array original, y el eje vertical de este resultado es el correspondiente al eje x (eje 1) del array original:
Si aplicamos la función sobre dos ejes, el 0 y el 2, por ejemplo, el resultado es el siguiente:
Ahora la función devuelve un array de una dimensión, que puede ser visto como la agregación del resultado [160] a lo largo del eje 2 del array original (eje representado en [160] a lo largo de su eje horizontal).
median
La función numpy.median devuelve la mediana de los valores de un array a lo largo de los ejes especificados:
std
La función numpy.std devuelve la desviación estándar de los valores un array a lo largo de los ejes especificados:
var
La función numpy.var devuelve la varianza de los valores de un array a lo largo de los ejes especificados:
sum
La función numpy.sum devuelve la suma de los valores de un array a lo largo de los ejes especificados:
cumsum
La función numpy.cumsum devuelve la suma acumulada de los valores de un array a lo largo de los ejes especificados.
En este ejemplo calculamos la suma acumulada a lo largo del eje 1 de un array bidimensional:
Y, a continuación, la suma acumulada a lo largo del eje 0:
corrcoef
La función numpy.corrcoef devuelve el coeficiente de correlación de Pearson, también conocido como R de Pearson o coeficiente de correlación de producto-momento de Pearson, entre las filas de un array bidimensional o entre dos arrays unidimensionales.
Comencemos con el primero de los casos: cálculo del coeficiente de correlación de Pearson entre las filas de un array bidimensional:
Si los valores a los que aplicar la función se encuentran en arrays unidimensionales, el resultado es el mismo:
average
La función numpy.average devuelve la media aritmética ponderada de los valores de un array a lo largo de los ejes especificados. Los pesos a utilizar se indican con el parámetro weights:
Si no se especifican los pesos, la función asume que todos los valores sobre los que se va a aplicar el cálculo tienen idéntico peso:
Si se especifican los pesos, el resultado es la media ponderada de los valores:
argmax
Otra función destacada de NumPy es la función numpy.argmax. Esta función devuelve el índice del máximo valor a lo largo de un determinado eje. Por ejemplo:
Aquí tenemos un sencillo array unidimensional. El valor máximo es 5 y se encuentra en el índice 3, valor que es el devuelto por la función.
En este segundo ejemplo partimos del siguiente array bidimensional:
Podemos obtener los índices de los máximos en cada columna (en el eje 0) de la siguiente forma:
Efectivamente, en la primera columna tenemos los valores 4 y 2, el mayor es el 4 y está en el índice 0 (de filas).
Para calcular los índices de los máximos por fila bastaría con cambiar el valor del parámetro axis:
argmin
La función argmax tiene su equivalente para los mínimos: numpy.argmin devuelve los índices de los valores mínimos a lo largo de un determinado eje. Si seguimos con el array m creado anteriormente: