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

Retour elementen gekozen uit x of y afhankelijk van de conditie.

Noot:

Op het moment dat net conditie wordt gegeven, is deze capaciteit een shorthand voor np.asarray(conditie).nonzero(). Het gebruik van nonzero rechttoe rechtaan zou geliefd moeten zijn, aangezien het effectief doorgaat voor subklassen. De rest van deze documentatie heeft alleen betrekking op de situatie waarin elk van de drie stellingen wordt gegeven.

Parameters:

conditie : array_like, bool

Waar Waar, opbrengst x, anders opbrengst y.

x, y : array_achtig

Waarden waaruit gekozen kan worden. x, y en conditie moeten in een bepaalde vorm uit te zenden zijn.

Geeft u terug:

uit : ndarray

Een array met elementen uit x waar conditie waar is, en elementen uit y elders.

Opmerkingen

Als alle arrays 1-D zijn, waar staat dat gelijk aan:

xv als c anders yv

 voor c, xv, yv in ritssluiting (voorwaarde, x, y)]

Voorbeelden

>>> 

>>> a = np.arange(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])

Dit kan ook worden gebruikt op multidimensionale arrays:

>>> 

>>> np.where([[Waar, Vals], [Waar, Waar]],

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

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

array([[1, 8],

       [3, 4]])

De vormen van x, y en de conditie worden samen uitgezonden:

>>> 

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

>>> np.where(x < y, x, 10 + y) # zowel x als 10+y worden uitgezonden

array([[10, 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 wordt uitgezonden

array([[ 0, 1, 2],

       [ 0,  2, -1],

       [ 0,  3, -1]])