Python Numpy.where() Fonction

Sohaib Atiq 30 janvier 2023
  1. Syntaxe de numpy.where()
  2. Exemples de codes: numpy.where() sans [x, y]
  3. Exemples de codes: numpy.where() avec un tableau 1-D
  4. Exemples de codes: numpy.where() avec un tableau 2D
  5. Exemples de codes: numpy.where() avec plusieurs conditions
Python Numpy.where() Fonction

La fonction Numpy.where() génère les index du tableau qui remplissent la condition d’entrée, si x, y ne sont pas donnés; ou les éléments du tableau de x ou y en fonction de la condition donnée.

Syntaxe de numpy.where()

numpy.where(condition, [x, y])

Paramètres

condition array_like, True ou False
Si la condition est True, la sortie contient l’élément de x, sinon, la sortie contient l’élément de y
x,y tableau à partir duquel le retour génère
Passez à la fois (x, y) ou aucun.

Revenir

Il retourne un tableau. Si la condition est True, le résultat contient des éléments de x et si la condition est False, le résultat contient des éléments de y.

Il retourne que les index du tableau sont x, y ne sont pas donnés.

Exemples de codes: numpy.where() sans [x, y]

import numpy as np

m = np.array([1, 2, 3, 4, 5])

n = np.where(m > 3)

print(n)

Production:

(array([3, 4], dtype=int64),)

Il retourne les index de m, où son élément est supérieur à 3 - a> 3.

Si vous avez besoin de l’élément plutôt que des index,

Exemples de codes: numpy.where() avec un tableau 1-D

import numpy as np

m = np.where([True, False, True], [1,2,3], [4, 5, 6])

print(m)

Production:

[1 5 3]

Lorsque la condition est un tableau 1-D, la fonction Numpy.where() parcourt le tableau de conditions et sélectionne l’élément à partir de x si l’élément de condition est True, ou l’élément de y si le l’élément de condition est False.

Numpy où tableau 1-D

Exemples de codes: numpy.where() avec un tableau 2D

import numpy as np

x = np.array([[10, 20, 30], [3, 50, 5]])
y = np.array([[70, 80, 90], [100, 110, 120]])
condition = np.where(x > 20, x, y)

print("Input array :")
print(x)
print(y)
print("Output array with condition applied:")
print(condition)

Production:

Input array :
[[10 20 30]
[ 3 50  5]]
[[ 70  80  90]
[100 110 120]]
Output array with condition applied:
[[ 70  80  30]
[100  50 120]]

Il applique la condition de x> 20 à tous les éléments de x, s’il est True, alors l’élément de x donne en sortie, et s’il est False, il donne l’élément de y.

Nous faisons un exemple simplifié pour montrer comment cela fonctionne.

import numpy as np

m = np.where(
    [[True, False, True], [False, True, False]],
    [[1, 2, 3], [4, 5, 6]],
    [[7, 8, 9], [10, 11, 12]],
)

print(m)

Production:

[[ 1  8  3]
 [10  5 12]]

Numpy où tableau 1-D

Exemples de codes: numpy.where() avec plusieurs conditions

Nous pourrions également appliquer deux ou plusieurs conditions dans la fonction numpy.where().

import numpy as np

m = np.array([1, 2, 3, 4, 5])

n = np.where((m > 1) & (m < 5), m, 0)

print(n)

Production:

[0 2 3 4 0]

Il applique les multiples conditions, m> 1 et m <5, et retourne l’élément si l’élément satisfait les deux conditions.

La logique entre les multiples conditions n’est pas limitée à AND (&), mais OR (|) est également acceptée.

import numpy as np

m = np.array([1, 2, 3, 4, 5])

n = np.where((m < 2) | (m > 4), m, 0)

print(n)

Production:

[1 0 0 0 5]