API · NumPy
Python Numpy.where() Fonction
La fonction numpy where() vérifie les éléments d'un tableau d'entrée et génère une sortie selon la condition spécifiée.
Sur cette page
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.
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]]
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]