Détection d'un nombre avec numpy

Résolu
Bonjour, je voudrais savoir comment détecter un nombre/texte dans un tableau numpy. voici un exemple: je créée un tableau (2dimension 5x, 5y) remplis de zéros et je donne le chiffre 1 à la case 3x 3y . voici le code:
table = numpy.zeros((5, 5))
table[3, 3] = 1

je voudrais maintenant savoir si le tableau possède le chiffre 1, si oui je soustrais de 3 toutes les cases. le problème, c'est que je ne connais pas la méthode pour détecter le chiffre.
je voudrais donc savoir comment le détecter et si possible, le localiser.

4 réponses

  1. merci! le problème était déjà résolu mais cette méthode est beaucoup mieux
    1. Modérateur
      Bonjour,

      La manière la plus simple d'écrire ton programme est :

      import numpy as np
      
      def update_table(table):
          if 1 in table:
              table += 3
      
      table1 = np.zeros((5, 5))
      table1[3, 3] = 1
      update_table(table1)
      print(table1)


      Il est important d'éviter les boucles en
      numpy
      si tu veux que ton code soit performant. Donc typiquement, il faut mieux faire réaliser par
      numpy
      les opérations matricielles (ici, ajout d'un scalaire) plutôt que d'écrire une boucle à la main.

      Bonne chance
      1. Contributeur
        bonjour,
        on utilise souvent des boucles pour parcourir un tableau.
        1. comme ceci?
          for x in range(largeur):
              for y in range(hauteur):
                  if table[x, y] == 1:
                      pass
        2. Contributeur
          @Alexc'est un exemple d'utilisation de boucles, en effet.