Ciência de Dados

Como usar a função Python NumPy where () com várias condições

Como usar a função Python NumPy where () com várias condições
A biblioteca NumPy tem muitas funções para criar a matriz em python. onde a função () é uma delas para criar uma matriz a partir de outra matriz NumPy com base em uma ou mais condições. Algumas operações podem ser feitas no momento da criação do array com base na condição usando esta função. Pode ser usado sem qualquer expressão condicional também. Como esta função pode ser usada com várias condições em python é mostrado neste tutorial.

Sintaxe:

entorpecido.onde (condição, [x, y])

onde a função () pode receber dois argumentos. O primeiro argumento é obrigatório e o segundo argumento é opcional. Se o valor do primeiro argumento (doença) for verdadeiro, então a saída conterá os elementos da matriz da matriz, x caso contrário, da matriz, y. Esta função irá devolver os valores de índice do array de entrada se nenhum argumento opcional for usado.

Uso da função where ():

Diferentes tipos de operadores booleanos podem ser usados ​​para definir a condição desta função. Os usos da função where a () com várias condições são mostrados nesta parte do tutorial.

Exemplo -1: uso de várias condições com OR lógico

O exemplo a seguir mostra o uso da função where () com e sem o argumento opcional. Aqui, o OR lógico foi usado para definir a condição. A primeira função where () foi aplicada em uma matriz unidimensional que retornará a matriz de índices da matriz de entrada onde a condição retornará Verdadeiro. A segunda função where () aplicada em duas matrizes unidimensionais irá recuperar os valores da primeira matriz quando a condição retornar True. Caso contrário, ele recuperará os valores da segunda matriz.

# Importar biblioteca NumPy
importar numpy como np
# Crie uma matriz usando a lista
np_array1 = np.matriz ([23, 11, 45, 43, 60, 18, 33, 71, 52, 38])
print ("Os valores da matriz de entrada: \ n", np_array1)
# Crie outra matriz com base em várias condições e uma matriz
new_array1 = np.onde ((np_array1 50))
# Imprime a nova matriz
print ("Os valores filtrados da matriz: \ n", new_array1)
# Crie uma matriz usando valores de intervalo
np_array2 = np.arange (40, 50)
# Crie outra matriz com base em várias condições e duas matrizes
new_array2 = np.onde ((np_array1 60), np_array1, np_array2)
# Imprime a nova matriz
print ("Os valores filtrados do array: \ n", new_array2)

Resultado:

A seguinte saída aparecerá após a execução do script acima. Aqui, a condição voltou Verdadeiro para os valores 23,11,18,33 e 38 da primeira matriz. A condição voltou Falso para os valores 45, 43, 60, 71 e 52. Portanto, 42, 43, 44 e 48 foram adicionados da segunda matriz para os valores 45, 43, 60 e 52. Aqui, 71 está fora do alcance.

Exemplo -2: Uso de várias condições com AND lógico

O exemplo a seguir mostra como a função () pode ser usada com as várias condições definidas por lógico e aplicadas em duas matrizes unidimensionais. Aqui, duas matrizes NumPy unidimensionais foram criadas usando a função rand (). Essas matrizes foram usadas na função where () com as várias condições para criar a nova matriz com base nas condições. A condição irá retornar Verdadeiro quando o valor da primeira matriz é menor que 40 e o valor da segunda matriz é maior que 60. A nova matriz foi impressa mais tarde.

# Importar biblioteca NumPy
importar numpy como np
# Crie duas matrizes de valores aleatórios
np_array1 = np.aleatória.rand (10) * 100
np_array2 = np.aleatória.rand (10) * 100
# Imprime os valores da matriz
print ("\ nOs valores da primeira matriz: \ n", np_array1)
print ("\ nOs valores da segunda matriz: \ n", np_array2)
# Crie uma nova matriz com base nas condições
new_array = np.onde ((np_array1 60), np_array1, np_array2)
# Imprime a nova matriz
print ("\ nOs valores filtrados de ambas as matrizes: \ n", new_array)

Resultado:

A seguinte saída aparecerá após a execução do script acima. A condição voltou Falso para todos os elementos. Portanto, a matriz retornada contém os valores da segunda matriz apenas.

Exemplo 3: Uso de várias condições na matriz multidimensional

O exemplo a seguir mostra como onde a função () pode ser usada com as várias condições definidas pela lógica E que será aplicado em duas matrizes multidimensionais. Aqui, duas matrizes multidimensionais foram criadas usando listas. Em seguida, essas funções foram aplicadas na função where () para criar a nova matriz com base na condição. A condição usada na função retornará Verdadeiro onde o valor da primeira matriz é par e o valor da segunda matriz é ímpar; caso contrário, a condição retornará Falso.

# Importar biblioteca NumPy
importar numpy como np
# Crie duas matrizes multidimensionais de valores inteiros
np_array1 = np.matriz ([[5, 12, 21, 6, 11], [6, 10, 15, 31, 8]])
np_array2 = np.matriz ([[43, 19, 7, 34, 9], [99, 22, 41, 5, 12]])
# Imprime os valores da matriz
print ("\ nOs valores da primeira matriz: \ n", np_array1)
print ("\ nOs valores da segunda matriz: \ n", np_array2)
# Crie uma nova matriz a partir de duas matrizes com base nas condições
new_array = np.onde (((np_array1% 2 == 0) & (np_array2% 2 == 1)), np_array1, np_array2)
# Imprime a nova matriz
print ("\ nOs valores filtrados de ambas as matrizes: \ n", new_array)

Resultado:

A seguinte saída aparecerá após a execução do script acima. Na saída, 43, 12, 7, 34, 9, 22, 41, 5 e 12 adicionaram na nova matriz da segunda matriz porque a condição é Falso para esses valores. Os primeiros 12 valores na nova matriz foram adicionados a partir da primeira matriz porque a condição é Verdadeiro para este valor apenas.

Conclusão:

onde a função () da biblioteca NumPy é útil para filtrar os valores de duas matrizes. A criação de uma nova matriz filtrando os dados de duas matrizes com base em várias condições definidas por OR lógico e AND lógico foi explicada neste tutorial. Espero que os leitores consigam usar esta função em seu script de maneira adequada após praticar os exemplos deste tutorial.

Como mostrar o contador de FPS em jogos Linux
Os jogos Linux tiveram um grande impulso quando a Valve anunciou o suporte Linux para o cliente Steam e seus jogos em 2012. Desde então, muitos jogos ...
Como baixar e jogar Sid Meier's Civilization VI no Linux
Introdução ao jogo Civilization 6 é uma versão moderna do conceito clássico introduzido na série de jogos Age of Empires. A ideia era bastante simples...
Como instalar e jogar Doom no Linux
Introdução ao Doom A série Doom teve origem nos anos 90 após o lançamento do Doom original. Foi um sucesso instantâneo e, a partir desse momento, a sé...