"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como contar valores únicos com eficiência em um array NumPy?

Como contar valores únicos com eficiência em um array NumPy?

Publicado em 2024-11-11
Navegar:811

How to Efficiently Count Unique Values in a NumPy Array?

Determinação eficiente de contagens de frequência de valores exclusivos em matrizes NumPy

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
Tutorial mais recente Mais>

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