Coursera Learner working on a presentation with Coursera logo and
Coursera Learner working on a presentation with Coursera logo and

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

Elementy zwrotne wybrane z x lub y w zależności od stanu.

Uwaga

Gdy podany jest tylko warunek, funkcja ta może być skrótem do np.asarray(condition).nonzero(). Użycie nonzero bezpośrednio powinno być preferowane, ponieważ zachowuje się poprawnie dla podklas. pozostała część tej dokumentacji obejmuje tylko przypadek, w którym podane są wszystkie trzy argumenty.

Parametry:

warunek : array_like, bool

Gdzie True, yield x, inaczej yield y.

x, y : array_like

Wartości, z których należy się rozliczyć na . x, y i stan muszą być transmitowane do jakiegoś kształtu.

Wraca:

na zewnątrz: ndarray

Tablica z elementami z x, gdzie stan jest prawdziwy, oraz z elementami z y gdzie indziej.

Funkcja, która jest wywoływana, gdy x i y są pominięte.

Uwagi

Jeśli wszystkie tablice są 1-D, to gdzie jest to równoważne:

[xv, jeżeli c, gdzie indziej yv

dla c, xv, yv w stanie zip(stan, x, y)]

Przykłady

>>>

>>> a = np.arange(10)

>>> a

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

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

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

Może to być również stosowane na tablicach wielowymiarowych:

>>>

>>> np.where([[True, False], [True, True]]],

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

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

array([[1, 8]],

[3, 4]])

Kształty x, y, i stan są transmitowane razem:

>>>

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

>>> np.gdzie(x < y, x, 10 + y) # zarówno x jak i 10+y są nadawane

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.gdzie(a < 4, a, -1) # -1 jest nadawany

array([[ 0, 1, 2],

[ 0, 2, -1],

[ 0, 3, -1]])