intorpidito.dove(condizione[, x, y])

Elementi di ritorno scelti tra x o y a seconda delle condizioni.

Nota

Nel momento in cui viene data la giusta condizione, questa capacità è un’abbreviazione di np.asarray(condition).non zero(). L’utilizzo di non zero in modo diretto dovrebbe essere gradito, in quanto si svolge in modo efficace per le sottoclassi. Il resto di questa documentazione copre solo la situazione in cui ciascuna delle tre contestazioni è data.

Parametri:

condizione : array_like, bool

Dove Vero, rendi x, altrimenti rendi y.

x, y : array_like

I valori tra cui scegliere. x, y e condizione devono essere trasmissibili in qualche forma.

Restituisce:

fuori : ndarray

Un array con elementi da x dove la condizione è vera, ed elementi da y altrove.

Note

Se tutti gli array sono 1-D, dove è equivalente:

[xv se c altrimenti yv

 per c, xv, yv in zip(condizione, x, y)]

Esempi

>>> 

>>>> a = np.arange(10)

>>> a

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

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

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

Questo può essere utilizzato anche su array multidimensionali:

>>> 

>>>> np.dove([[Vero, falso], [Vero, vero]],

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

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

array([[1, 8],

       [3, 4]])

Le forme di x, y e la condizione sono trasmesse insieme:

>>> 

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

>>>> np.dove(x < y, x, 10 + y) # vengono trasmessi sia x che 10+y

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.dove(a < 4, a, -1) # -1 viene trasmesso

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

       [ 0,  2, -1],

       [ 0,  3, -1]])