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]