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. 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.
  2. 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. merci! le problème était déjà résolu mais cette méthode est beaucoup mieux