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

Geben Sie Elemente zurück, die je nach Bedingung aus x oder y ausgewählt wurden.

Hinweis

An dem Punkt, an dem gerade Bedingung gegeben ist, ist diese Kapazität eine Kurzform für np.asarray(condition).nonzero(). Die einfache Verwendung von ungleich null sollte gemocht werden, da sie für Unterklassen effektiv weitergeführt wird. Der Rest dieser Dokumentation behandelt nur die Situation, in der jede der drei Behauptungen gegeben ist.

Parameter:

Bedingung : array_like, bool

Wo dies zutrifft, ergibt sich x, andernfalls y.

x, y : array_ähnlich

Werte, aus denen gewählt werden kann. x, y und Bedingung müssen in irgendeiner Form übertragbar sein.

Rückgabe:

aus : ndarray

Ein Array mit Elementen aus x, wobei die Bedingung wahr ist, und Elementen aus y an anderer Stelle.

Anmerkungen

Wenn alle Arrays 1-D sind, ist wo gleichbedeutend mit:

[xv wenn c sonst yv

 für c, xv, yv in zip(Bedingung, x, y)]

Beispiele

>>> 

>>> a = np.aBereich(10)

>>> a

array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

>>> np.where(a < 5, a, 10*a)

array([ 0, 1, 2, 3, 4, 50, 60, 70, 80, 90])

Dies kann auch auf mehrdimensionale Arrays angewendet werden:

>>> 

>>> np.where([[[Wahr, Falsch], [Wahr, Wahr]]],

…          [[1, 2], [3, 4]],

…          [[9, 8], [7, 6]])

array([[1, 8],

       [3, 4]])

Die Formen von x, y und die Bedingung werden zusammen übertragen:

>>> 

>>> x, y = np.ogrid[:3, :4]

>>> np.where(x < y, x, 10 + y) # sowohl x als auch 10+y werden gesendet

array([[10, 0, 0, 0, 0],

       [10, 11,  1, 1],

       [10, 11, 12,  2]])

>>> 

>>> a = np.array([[0, 1, 2],

…               [0, 2, 4],

…               [0, 3, 6]])

>>> np.where(a < 4, a, -1) # -1 wird gesendet

array([[[ 0, 1, 2],

       [ 0,  2, -1],

       [ 0,  3, -1]])