Como usar numpy where() com múltiplas condições
Você pode usar os seguintes métodos para usar a função NumPywhere() com múltiplas condições:
Método 1: Use Where() com OR
#select values less than five or greater than 20 x[np. where ((x < 5) | (x > 20))]
Método 2: Use Where() com AND
#select values greater than five and less than 20 x[np. where ((x > 5) & (x < 20))]
O exemplo a seguir mostra como usar cada método na prática.
Método 1: Use Where() com OR
O código a seguir mostra como selecionar cada valor em uma matriz NumPy menor que 5 ou maior que 20:
import numpy as np #define NumPy array of values x = np. array ([1, 3, 3, 6, 7, 9, 12, 13, 15, 18, 20, 22]) #select values that meet one of two conditions x[np. where ((x < 5) | (x > 20))] array([ 1, 3, 3, 22])
Observe que quatro valores na matriz NumPy eram menores que 5 ou maiores que 20.
Você também pode usar a função size para simplesmente descobrir quantos valores atendem a uma das condições:
#find number of values that are less than 5 or greater than 20
(x[np. where ((x < 5) | (x > 20))]). size
4
Método 2: Use Where() com AND
O código a seguir mostra como selecionar cada valor de uma matriz NumPy maior que 5 e menor que 20:
import numpy as np #define NumPy array of values x = np. array ([1, 3, 3, 6, 7, 9, 12, 13, 15, 18, 20, 22]) #select values that meet two conditions x[np. where ((x > 5) & (x < 20))] array([6, 7, 9, 12, 13, 15, 18])
A matriz de saída exibe os sete valores da matriz NumPy original que eram maiores que 5 e menores que 20.
Novamente, você pode usar a função size para determinar quantos valores atendem a ambas as condições:
#find number of values that are greater than 5 and less than 20
(x[np. where ((x > 5) & (x < 20))]). size
7
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns no NumPy:
Como calcular o modo do array NumPy
Como encontrar o índice de valor na matriz NumPy
Como mapear uma função para um array NumPy