"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 ocorrências em um ndarray em Python?

Como contar ocorrências em um ndarray em Python?

Publicado em 2024-11-08
Navegar:324

How to Count Occurrences in an ndarray in Python?

Contando ocorrências em um ndarray

Em numpy, pode-se encontrar o erro "o objeto numpy.ndarray não tem contagem de atributos" ao tentar use o método .count() para contar a ocorrência de um valor específico em uma matriz.

Usando numpy.unique

Uma solução para isso é usar numpy.unique(). Esta função identifica valores únicos em uma matriz e fornece suas contagens correspondentes. Por exemplo, para contar o número de 0s e 1s na matriz y abaixo:

import numpy

y = np.array([0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1])

unique, counts = numpy.unique(y, return_counts=True)

As variáveis ​​unique e counts agora conterão valores únicos e suas contagens, respectivamente.

Método não numpy

Um método alternativo que não requer numpy é usar a classe Collections.Counter. Esta classe constrói um dicionário que mapeia os elementos para suas contagens. Por exemplo, para contar a ocorrência de elementos em y usando Counter:

import collections, numpy

y = np.array([0, 3, 0, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 4])

counter = collections.Counter(y)

A variável contador agora fornecerá as contagens de cada elemento exclusivo em y.

Declaração de lançamento Este artigo é reproduzido em: 1729432037 Se houver alguma violação, entre em contato com [email protected] para excluí -lo.
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