Maison  >  Article  >  développement back-end  >  Comment compter les occurrences d'éléments dans les tableaux NumPy ?

Comment compter les occurrences d'éléments dans les tableaux NumPy ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-20 21:50:30831parcourir

How to Count Occurrences of Elements in NumPy Arrays?

Comptage des occurrences dans un tableau NumPy

Les tableaux NumPy sont largement utilisés pour les calculs numériques, et une tâche courante consiste à compter l'occurrence d'éléments spécifiques en eux. Cependant, contrairement aux listes et autres structures de données Python, les tableaux NumPy n'ont pas de méthode de comptage intégrée.

Utilisation de l'unique de NumPy

La fonction numpy.unique peut être utilisé pour déterminer les valeurs uniques dans un tableau et leurs nombres respectifs. Il prend un paramètre facultatif return_counts, qui, lorsqu'il est défini sur True, renvoie à la fois les valeurs uniques et leurs nombres correspondants. Par exemple :

<code class="python">import numpy

# Create a NumPy array
y = np.array([0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1])

# Obtain unique values and their counts
unique, counts = numpy.unique(y, return_counts=True)

# Convert the results to a dictionary for ease of access
results = dict(zip(unique, counts))

print(results)  # Output: {0: 7, 1: 4}</code>

Méthode non-NumPy : utilisation de collections.Counter

Vous pouvez également utiliser la classe collections.Counter depuis l'extérieur de NumPy. Cette classe est spécialement conçue pour compter les occurrences dans n'importe quel itérable, y compris les tableaux NumPy :

<code class="python">import collections

# Use the Counter class to tally the occurrences of each element
counter = collections.Counter(y)

# Print the Counter object to view the occurrences
print(counter)  # Output: Counter({0: 7, 1: 4})</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn