Python - Encuentra los N números más frecuentes en una matriz NumPy

CorePress2024-01-25  10

La respuesta aceptada de la ocurrencia más frecuente es

a = np.array([1,2,3,1,2,1,1,1,3,2,2,1])
counts = np.bincount(a)
print(np.argmax(counts))

Pero me pregunto si alguien tiene una manera elegante de encontrar los 10 más frecuentes, por ejemplo. Gracias



------------------------------------

Aquí tienes:

for i in range(10):
  largest = np.argmax(counts)
  counts[largest] = 0
  print(largest)



------------------------------------

Aquí hay una muy buena respuesta en la publicación original que me había perdido. de Apogentus

values, counts = np.unique(a, return_counts=True)

ind = np.argmax(counts)
print(values[ind])  # prints the most frequent element

ind = np.argpartition(-counts, kth=10)[:10]
print(values[ind])  # prints the 10 most frequent elements

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare