Supongamos que tengo la siguiente matriz NumPy:

a = np.array([1,2,3,1,2,1,1,1,3,2,2,1])

¿Cómo puedo encontrar el número menos frecuente en esta matriz?

1
Pierrick Rambaud 22 ene. 2021 a las 20:30

3 respuestas

La mejor respuesta

Utilice collections.Counter -

from collections import Counter
a = Counter([1,2,3,1,2,1,1,1,3,2,2,1])
print(a.most_common()[-1][0])
3
Shradha 22 ene. 2021 a las 17:48

Prueba esto:

import numpy as np
a = np.array([1,2,3,1,2,1,1,1,3,2,2,1])
b = np.unique(a, return_counts=True)
c = b[0][np.argmin(b[1], axis=0)]

print(c)
1
MarcoM 22 ene. 2021 a las 17:37
def least_frequent(array : np.array):
    dictionary = {}
    for value in array:
        if value in dictionary.keys():
            dictionary[value] = dictionary[value] + 1
        else:
            dictionary[value] = 0
    least = -1
    least_key = -1
    for key in dictionary.keys():
        if least > dictionary[key]:
            least = dictionary[key]
            least_key = key
    return key
0
lwashington27 22 ene. 2021 a las 17:39
65849980