Este artigo explora um método eficiente para calcular as contagens de frequência de valores exclusivos em uma matriz NumPy.
Usando numpy.unique com return_counts=True (para NumPy versões 1.9 e acima) permite o cálculo eficiente de valores únicos e suas contagens correspondentes. Para ilustração:
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)
Essa abordagem supera significativamente a função scipy.stats.itemfreq em termos de velocidade de execução, conforme demonstrado em benchmarks de desempenho:
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
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3