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]])