Python onde na lista

Python onde na lista

O método WHER () em Python é usado para verificar se há uma condição específica em todos os elementos de uma matriz e depois escolher um valor respectivo a ser colocado no índice desse elemento, dependendo do resultado da condição. No entanto, para aplicar o “onde()”Método em uma lista, a lista deve ser convertida em uma matriz primeiro

O método "where ()" não é um método interno da linguagem python, ele realmente pertence ao pacote "Numpy". Para entender o funcionamento do método "where ()", dê uma olhada na sintaxe:

Sintaxe do método “where ()”

A sintaxe do método "where ()" pode ser demonstrado como:

NP.onde (condição, valor1, valor2)

Na sintaxe acima:

  • doença para ser verificado em todos os itens da lista dentro do método where ()
  • valor1: a ser colocado se a condição definida no método where () render verdadeiro
  • valor2: a ser usado se a condição em onde () o método produzir falso

Informações adicionais

Para o método "onde ()", os seguintes aspectos são importantes e devem ser seguidos

  • O valor1 e o valor2 são parâmetros opcionais. No entanto, ambos são fornecidos ou nenhum.
  • Os parâmetros Value1 e Value2 podem ser um valor estático, sequência estática ou matriz. No entanto, se esses valores forem a matriz, a forma e o tamanho da matriz devem corresponder à matriz na condição

Exemplo 1: buscar elementos que correspondam à condição

Neste primeiro exemplo, você vai pegar uma lista e buscar apenas os elementos que correspondem a uma certa condição. Para fazer isso, primeiro, crie uma lista e use a seguinte linha:

importar numpy como np
Números = (1,66,2,23,91,14,51,47)

A tarefa é escolher apenas os elementos que têm um valor maior que "50", para isso, converter a lista em uma matriz e depois usar a seguinte condição no método "where ()":

Array = np.Array (números)
resultado = (NP.onde (matriz> 50))

Por fim, imprima o resultado no terminal:

Imprimir (resultado)

O trecho de código completo para este exemplo é como:

importar numpy como np
Números = (1,66,2,23,91,14,51,47)
Array = np.Array (números)
resultado = (NP.onde (matriz> 50))
Imprimir (resultado)

Ao executar este código, você pode ver que a saída é:

A saída exibe os valores "índices" do elemento que atendem à condição no método "where ()".

  • ÍNDICE 1 = 66
  • ÍNDICE 4 = 91
  • Índice 6 = 51

Exemplo 2: fornecendo os dois casos para condição

Neste exemplo, você fornecerá as duas ações a serem executadas dependendo do resultado rendido pela condição. Para demonstrar isso, pegue as seguintes marcas de estudantes em um determinado assunto:

importar numpy como np
Pontuações = (52,46,91,33,52,67,51,47)

Depois disso, aplique as condições de que, se a pontuação do aluno estiver acima de 50, conceda ao aluno o status de "passe", caso contrário, "falhar"

Array = np.Array (pontuações)
resultado = (NP.Onde (Array> 50, "Pass", "Fail"))))

Depois disso, exiba a lista, original e resultado, no terminal usando as seguintes linhas de código:

Print ("Lista original:", pontuações)
print ("Veredicto:", resultado)

O trecho de código completo para este exemplo seria:

importar numpy como np
Pontuações = (52,46,91,33,52,67,51,47)
Array = np.Array (pontuações)
resultado = (NP.Onde (Array> 50, "Pass", "Fail"))))
Print ("Lista original:", pontuações)
print ("Veredicto:", resultado)

A execução deste código produzirá o seguinte resultado no terminal:

Exemplo 3: Usando matrizes como condição

Neste exemplo, execute a condição em sua lista e, com base nessa condição, escolha o valor da matriz no segundo parâmetro do método where () ou a matriz no terceiro parâmetro.

Comece importando o pacote Numpy e, em seguida, crie uma lista usando as seguintes linhas:

importar numpy como np
Pontuações = (52,46,91,33,52,67,51,47)

Se o valor for maior que 50, pegue o valor da matriz do segundo parâmetro e, se for menor, use a matriz no terceiro parâmetro:

Array = np.Array (pontuações)
resultado = (NP.onde (matriz> 50 ,
[1,2,3,4,5,6,7,8],
[11,12,13,14,15,16,17,18])))

E finalmente, imprima as matrizes no terminal:

Print ("Lista original:", pontuações)
print ("nova lista:", resultado)

O trecho de código completo para este exemplo é como:

importar numpy como np
Pontuações = (52,46,91,33,52,67,51,47)
Array = np.Array (pontuações)
resultado = (NP.onde (matriz> 50 ,
[1,2,3,4,5,6,7,8],
[11,12,13,14,15,16,17,18])))
Print ("Lista original:", pontuações)
print ("nova lista:", resultado)

Este código gera o seguinte resultado no terminal:

A partir da saída, pode -se observar que, para cada elemento superior a 50, o novo valor é menor que 10 (segundo parâmetro) e, para cada elemento inferior a 50, o novo valor é agora maior que 10 (terceiro parâmetro)

Exemplo 4: executando operações com base na condição

Neste exemplo, pegue a seguinte lista:

importar numpy como np
Lista = (1,2,3,4,5,6,7,8,9)

Se o item estiver par, tome como é, se for estranho, multiplique com 10 usando:

Array = np.Array (lista)
resultado = (NP.onde (matriz %2 == 0, matriz, matriz*10)

E então imprima o resultado no terminal:

Print ("Lista original:", lista)
print ("nova lista:", resultado)

O trecho de código completo para este exemplo é o seguinte:

importar numpy como np
Lista = (1,2,3,4,5,6,7,8,9)
Array = np.Array (lista)
resultado = (NP.onde (matriz %2 == 0, matriz, matriz*10)
Print ("Lista original:", lista)
print ("nova lista:", resultado)

A execução deste trecho de código acima mencionado produzirá o seguinte resultado:

A saída confirma que todo elemento ímpar foi multiplicado por 10.

Conclusão

O "onde()”O método atua como uma espécie de filtro que filtra o elemento, dependendo da condição e, com base nessa condição, pode executar ações no elemento. Para usar o método "where ()", o usuário precisa importar a biblioteca Numpy como o método "where ()" não é um método interno de python. Além disso, a lista precisa ser convertida em uma matriz Numpy antes de aplicar o método where ().