value_counts

Este método de una serie pandas devuelve un objeto conteniendo, en orden descendiente por defecto, los distintos valores incluidos en la serie junto con el número de apariciones de cada uno.

Librería
Parámetros
  • normalize: Booleano, valor por defecto False. Si toma el valor True, el resultado incluirá las frecuencias relativas de cada elemento único, no el número de apariciones.
  • sort: Booleano, valor por defecto True. Si toma el valor True, ordena el resultado según el número de apariciones (o de las frecuencias relativas).
  • ascending: Booleano, valor por defecto False. Si toma el valor True, ordena el resultado de forma ascendente según el número de apariciones (o de las frecuencias relativas). En caso contrario, la ordenación es descendente.
  • bins: entero, opcional. En el caso de especificarse este argumento, en lugar de contar el número de apariciones de cada elemento único, dividirá la serie en bins bloques, indicando el número de elementos que hay en cada uno de ellos. Los bloques creados son abiertos por la izquierda y cerrados por la derecha (es decir, si un bloque va del 1 al 2 y otro del 2 al 3, el número 2 -en la frontera entre ambos bloques- se incluiría en el primero).
  • dropna: Excluye los valores NaN.
Ejemplos

El siguiente código:

import pandas as pd
s = pd.Series([1, 2, 1, 3, 5, 2, 1, 1, 4, 4, 1])
s.value_counts()

...devuelve el siguiente resultado:

value_counts

Si hacemos uso de los parámetros normalize y sort, dando al primero el valor True (para que muestre frecuencias relativas) y al segundo el valor False (para que no ordene los resultados):

import pandas as pd
s = pd.Series([1, 2, 1, 3, 5, 2, 1, 1, 4, 4, 1])
s.value_counts(normalize = True, sort = False)

...puede observarse cómo, en efecto, se muestran las frecuencias desordenadas:

value_counts

Si repetimos el mismo ejemplo con la opció de bins = 2:

import pandas as pd
s = pd.Series([1, 2, 1, 3, 5, 2, 1, 1, 4, 4, 1])
s.value_counts(bins = 2)

...observamos cómo se han creado dos "bins", el primero entre los números 0.995 y 3 (abierto por la izquierda y cerrado por la derecha, tal y como indican el paréntesis y el corchete) y el segundo entre los números 3 y 5:

value_counts