Función SciPy scipy.stats.mode

  1. Sintaxis de scipy.stats.mode():
  2. Códigos de ejemplo: scipy.stats.mode() Método para encontrar el modo sin conjunto de axis
  3. Códigos de ejemplo: Establezca axis=None en la función scipy.stats.mode()
  4. Códigos de ejemplo: Establezca axis=1 en la función scipy.stats.mode()

La función Python Scipy scipy.stats.mode() calcula el modo de los elementos de la matriz a lo largo del eje especificado. La moda es el valor observado con mayor frecuencia en el conjunto de datos. Si más de un elemento tiene la frecuencia más alta en el conjunto de datos, obtenemos el valor más pequeño como moda.

Sintaxis de scipy.stats.mode():

scipy.stats.mode(a,
          axis=0)

Parámetros

a Es la matriz n-dimensional cuyo modo se va a calcular.
axis Es un parámetro opcional. Es el eje a lo largo del cual se calcula el modo. Por defecto, axis=0

Regreso

Devuelve dos valores:

  1. Una matriz de valores de modo para los elementos de la matriz n-dimensional de acuerdo con el eje establecido en ellos.

  2. Una matriz del recuento de cada valor de modo presente en los elementos de la matriz n-dimensional.

Códigos de ejemplo: scipy.stats.mode() Método para encontrar el modo sin conjunto de axis

import numpy as np
import scipy
from scipy import stats

arr = np.array([[2, 5, 6, 8],
                 [3, 7, 3, 0],
                 [1, 1, 4, 4],
                 [9, 5, 0, 5],
                 [6, 4, 2, 2]])

result = scipy.stats.mode(arr)
print("The mode of given data is:\n", result[0])
print("The frequency of mode items is:\n", result[1])

Producción:

The mode of given data is:
 [[1 5 0 0]]
The frequency of mode items is:
 [[1 2 1 1]]

Aquí, se crea una matriz multidimensional arr con 2 dimensiones. La matriz se pasa como argumento a la función stats.mode, que produce la salida almacenada en la variable resultado.

Dado que no se define ningún parámetro de eje en esta condición, la operación del modo se lleva a cabo en el eje horizontal por defecto.

Como podemos ver en los elementos de la primera columna, todos los elementos tienen el mismo número y siendo 1 el valor más pequeño, obtenemos la moda de la primera columna 1 con el número 1. En los elementos de la segunda columna, el 5 se presenta dos veces, siendo así la moda con cuenta 2 y similar para el resto de los elementos de la columna.

La salida muestra dos valores. El primero es el ModeResult que muestra una matriz que tiene elementos de valor de modo, mientras que el segundo, count, es una matriz que muestra el recuento de los valores de modo respectivos en datos multidimensionales dados.

Códigos de ejemplo: Establezca axis=None en la función scipy.stats.mode()

Si configuramos axis=None en la función scipy.stats.mode(), la función calcula un solo modo de toda la matriz.

import numpy as np
import scipy
from scipy import stats

arr = np.array([[2, 5, 6, 8],
                 [3, 7, 3, 0],
                 [1, 1, 4, 4],
                 [9, 5, 0, 5],
                 [6, 4, 2, 2]])

result = scipy.stats.mode(arr, axis=None)
print("The mode of given data is :", result[0][0])
print("The frequency of mode is :", result[1][0])

Producción:

The mode of given data is : 2
The frequency of mode is : 3

Aquí, la salida muestra un solo elemento del array 2 porque siempre que el eje se establece en None, la operación del modo tiene lugar en todo el elemento del array y se consideran los datos observados con mayor frecuencia.

Códigos de ejemplo: Establezca axis=1 en la función scipy.stats.mode()

Si configuramos axis=1 en la función scipy.stats.mode(), la función calcula un modo para cada fila de la matriz.

import numpy as np
import scipy
from scipy import stats

arr = np.array([[2, 5, 6, 8],
                 [3, 7, 3, 0],
                 [1, 1, 4, 4],
                 [9, 5, 0, 5],
                 [6, 4, 2, 2]])

result = scipy.stats.mode(arr,axis=1)
print("The mode of given data is:\n", result[0])
print("The frequency of mode items is:\n", result[1])

Producción:

The mode of given data is:
 [[2]
 [3]
 [1]
 [5]
 [2]]
The frequency of mode items is:
 [[1]
 [2]
 [2]
 [2]
 [2]]

Aquí, el eje se establece en 1, lo que significa que el modo de operación tomará el eje vertical. Así en los elementos de la primera fila, podemos ver que ningún elemento se repite, y siendo 2 el más pequeño es la moda. En la segunda fila de elementos, los 3 son los que más se repiten, siendo así la moda y similar para otros elementos.

Artículo relacionado - SciPy Stats

  • Función SciPy scipy.stats.binom
  • Función SciPy scipy.stats.sem
  • Función SciPy stats.beta