Python Numpy.where() Funktion
-
Syntax von
numpy.where()
-
Beispiel-Codes:
numpy.where()
ohne[X, Y]
-
Beispielcodes:
numpy.where()
mit 1-D-Array -
Beispielcodes:
numpy.where()
mit 2-D-Array -
Beispielcodes:
numpy.where()
mit mehreren Bedingungen
Die Funktion Numpy.where()
erzeugt die Indizes des Arrays, die die Eingabebedingung erfüllen, wenn x
, y
nicht angegeben sind; oder die Arrayelemente von entweder x
oder y
auf der Grundlage der angegebenen Bedingung.
Syntax von numpy.where()
numpy.where(condition, [x, y])
Parameter
condition |
array_like, True oder False Wenn die Bedingung True ist, enthält die Ausgabe das Element von x , andernfalls enthält die Ausgabe das Element von y |
x,y |
Array, aus dem der Rückgabewert entweder beide (x, y) oder keinen übergeben. |
Zurück
Es gibt ein Array
zurück. Wenn die Bedingung True
ist, enthält das Ergebnis Elemente von x, und wenn die Bedingung False
ist, enthält das Ergebnis Elemente von y.
Es gibt die Indizes des Arrays x zurück, y
sind nicht angegeben.
Beispiel-Codes: numpy.where()
ohne [X, Y]
import numpy as np
m = np.array([1, 2, 3, 4, 5])
n = np.where(m > 3)
print(n)
Ausgabe:
(array([3, 4], dtype=int64),)
Es gibt die Indizes von m
zurück, wenn sein Element größer als 3 ist - a > 3
.
Wenn Sie das Element und nicht die Indizes benötigen.
Beispielcodes: numpy.where()
mit 1-D-Array
import numpy as np
m = np.where([True, False, True], [1,2,3], [4, 5, 6])
print(m)
Ausgabe:
[1 5 3]
Wenn die Bedingung ein 1-D-Array ist, iteriert die Funktion Numpy.where()
über das Bedingungsarray und wählt das Element aus x
, wenn das Bedingungselement True
ist, oder das Element aus y
, wenn das Bedingungselement False
ist.
Beispielcodes: numpy.where()
mit 2-D-Array
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)
Ausgabe:
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]]
Es wendet die Bedingung von x>20
auf alle Elemente von x
an, wenn sie True
ist, dann ergibt sich das Element von x als Ausgabe, und wenn sie False
ist, ergibt sich das Element von y
.
Wir machen ein vereinfachtes Beispiel, um zu zeigen, wie es funktioniert.
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)
Ausgabe:
[[ 1 8 3]
[10 5 12]]
Beispielcodes: numpy.where()
mit mehreren Bedingungen
Wir könnten auch zwei oder mehrere Bedingungen in der Funktion numpy.where()
anwenden.
import numpy as np
m = np.array([1, 2, 3, 4, 5])
n = np.where((m > 1) & (m < 5), m, 0)
print(n)
Ausgabe:
[0 2 3 4 0]
Sie wendet die Mehrfachbedingungen m > 1
und m < 5
an und gibt das Element zurück, wenn das Element beide Bedingungen erfüllt.
Die Logik zwischen den multiplen Bedingungen ist nicht auf AND
(&
) beschränkt, sondern es wird auch OR
(|
) akzeptiert.
import numpy as np
m = np.array([1, 2, 3, 4, 5])
n = np.where((m < 2) | (m > 4), m, 0)
print(n)
Ausgabe:
[1 0 0 0 5]