Comment trouver le nombre d'occurrence d'un élément donné dans une matrice avec numpy en python?

Published: 04 mars 2021

Tags: Python; Numpy;

DMCA.com Protection Status

Exemples de comment trouver le nombre d'occurrence d'un élément donné dans une matrice avec numpy en python?

Créer une matrice aléatoire avec numpy

Créons une matrice aléatoire de taille (4,4) avec des entiers aléatoires entre 0 et 4:

import numpy as np

A = np.random.randint(0,5,(4,4))

donne par exemple:

[[3 0 2 2]
 [1 3 4 2]
 [0 0 3 1]
 [2 3 3 1]]

Trouvez le nombre d'occurrences pour chaque élément

Pour trouver le nombre d'occurrences pour chaque élément une solution consiste à utiliser la fonction numpy unique:

unique, counts = np.unique(A, return_counts=True)

for i in range(len(unique)):
    print(unique[i],counts[i])

donne

0 3
1 3
2 4
3 5
4 1

Il est alors possible de créer un dictionnaire

dict(zip(unique, counts))

donne

{0: 3, 1: 3, 2: 4, 3: 5, 4: 1}

Trouvez le nombre d'occurrences pour un élément donné en utilisant where

Une autre solution pour trouver le nombre d'occurrence de 3 en utilisant where:

np.where(A==3)[0].shape[0]

donne

5

Trouver le nombre d'occurrences pour un élément donné à l'aide du module collections

Un autre exemple de comment trouver le nombre d'occurrences d'un élément donné dans une matrice

import collections

collections.Counter(A.ravel())

donne

Counter({3: 5, 0: 3, 2: 4, 1: 3, 4: 1})

Références