Python Numpy.where() Função
-
Sintaxe de
numpy.where()
-
Códigos de exemplo:
numpy.where()
Sem[X, Y]
-
Códigos de exemplo:
numpy.where()
Com a matriz 1-D -
Códigos de exemplo:
numpy.where()
Com a matriz 2-D -
Códigos de exemplo:
numpy.where()
Com múltiplas condições
A função Numpy.where()
gera os índices do array que satisfazem a condição de entrada, se x
, y
não forem dados; ou os elementos do array de x
ou y
com base na condição dada.
Sintaxe de numpy.where()
numpy.where(condition, [x, y])
Parâmetros
condition |
array_like, True or False Se a condição for True , a saída contém elemento de x , caso contrário, a saída contém elemento de y . |
x,y |
matriz a partir da qual o retorno gera Passar ambos (x, y) ou nenhum. |
Retorno
Ele retorna uma array
. Se a condição for True
, o resultado contém elementos de x, e se a condição for False
, o resultado contém elementos de y.
Ele retorna índices do array é x, y
não são dados.
Códigos de exemplo: numpy.where()
Sem [X, Y]
import numpy as np
m = np.array([1, 2, 3, 4, 5])
n = np.where(m > 3)
print(n)
Resultado:
(array([3, 4], dtype=int64),)
Retorna os índices de m
, onde seu elemento é maior que 3 - a > 3
.
Se você precisar do elemento ao invés dos índices,
Códigos de exemplo: numpy.where()
Com a matriz 1-D
import numpy as np
m = np.where([True, False, True], [1,2,3], [4, 5, 6])
print(m)
Resultado:
[1 5 3]
Quando a condição é um array 1-D, Numpy.where()
função itera sobre a matriz de condições, e escolhe o elemento de x
se o elemento de condição for True
, ou o elemento de y
se o elemento de condição é False
.
Códigos de exemplo: numpy.where()
Com a matriz 2-D
import numpy as np
x = np.array([[10, 20, 30], [3, 50, 5]])
y = np.array([[70, 80, 90], [100, 110, 120]])
condition = np.where(x > 20, x, y)
print("Input array :")
print(x)
print(y)
print("Output array with condition applied:")
print(condition)
Resultado:
Input array :
[[10 20 30]
[ 3 50 5]]
[[ 70 80 90]
[100 110 120]]
Output array with condition applied:
[[ 70 80 30]
[100 50 120]]
Aplica a condição de x>20
a todos os elementos de x
, se for Verdade
, então o elemento de x rende como saída, e se for False
, rende o elemento de y
.
Fazemos um exemplo simplificado para mostrar como funciona.
import numpy as np
m = np.where(
[[True, False, True], [False, True, False]],
[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]],
)
print(m)
Resultado:
[[ 1 8 3]
[10 5 12]]
Códigos de exemplo: numpy.where()
Com múltiplas condições
Poderíamos também aplicar duas ou múltiplas condições na função numpy.where()
.
import numpy as np
m = np.array([1, 2, 3, 4, 5])
n = np.where((m > 1) & (m < 5), m, 0)
print(n)
Resultado:
[0 2 3 4 0]
Aplica as condições múltiplas, m > 1' e
m < 5’, e devolve o elemento se o elemento satisfizer ambas as condições.
A lógica entre as condições múltiplas não está limitada a AND
(&
), mas OR
(|
) também é aceita.
import numpy as np
m = np.array([1, 2, 3, 4, 5])
n = np.where((m < 2) | (m > 4), m, 0)
print(n)
Resultado:
[1 0 0 0 5]