Este artículo explora un método eficiente para calcular los recuentos de frecuencia de valores únicos dentro de una matriz NumPy.
Usar numpy.unique con return_counts=True (para las versiones 1.9 y superiores de NumPy) permite un cálculo eficiente tanto de valores únicos como de sus recuentos correspondientes. A modo de ilustración:
import numpy as np
x = np.array([1,1,1,2,2,2,5,25,1,1])
unique, counts = np.unique(x, return_counts=True)
print(np.asarray((unique, counts)).T)
Este enfoque supera significativamente a la función scipy.stats.itemfreq en términos de velocidad de ejecución, como se demuestra en los puntos de referencia de rendimiento:
In [4]: x = np.random.random_integers(0,100,1e6)
In [5]: %timeit unique, counts = np.unique(x, return_counts=True)
10 loops, best of 3: 31.5 ms per loop
In [6]: %timeit scipy.stats.itemfreq(x)
10 loops, best of 3: 170 ms per loop
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3