La función unique()
de NumPy devuelve por defecto los valores únicos que se encuentra en un vector. Aunque también se puede obtener la frecuencia de aparición de estos valores. Para ello solamente se tiene que usar la propiedad return_counts
, cuando se le asigna el valor True
la función en lugar de devolver un array de NumPy con los elementos únicos devolverá una tupla en la que el primer elemento será el vector de valores únicos y el segundo la veces que se observa cada uno de ellos. Lo que se muestra en el siguiente ejemplo donde los valores únicos se guardan en la variable unique
y la frecuencia de cada uno de estos valores en la variable counts
:
import numpy as np array = np.array([1, 2, 2, 2, 3, 3, 4, 5]) (unique, counts) = np.unique(array, return_counts=True) print(f'Únicos: {unique}') print(f'Frecuencia: {counts}')
Únicos: [1 2 3 4 5] Frecuencia: [1 3 2 1 1]
En donde se puede apreciar que el vector de ejemplo el valor que más veces se observa es 2 tres veces y 3 dos veces, apareciendo el resto de los valores solamente una vez.
Este es un truco sencillo, pero que puede ser de gran utilidad cuando tengamos un problema similar entre manos.