Caso de pandas quando

Caso de pandas quando

Neste tutorial, realizaremos operações diferentes usando declarações de caso e declarações if-else. Uma declaração de caso possibilita comparar o valor de uma variável com uma variedade de valores potenciais. Quando o conjunto de valores é referido ou aprovado na declaração do caso, cada valor dentro do conjunto é verificado pelos casos ou condições dentro da declaração.

A declaração de caso no quadro de dados do pandas fornece uma saída ou retorna um valor se a condição for satisfeita.

Cenário 1: Use Numpy.onde () como caso quando

Nesse cenário, verificaremos cada condição para o valor e, se a condição for satisfeita, geraremos a saída ou retornarão o valor contra a condição. Precisamos importar o módulo Numpy. Caso contrário, uma exceção do módulo é jogada.

Aqui, Numpy.onde () aceita a condição como o primeiro parâmetro. Se a condição for verdadeira, o valor especificado no segundo parâmetro será atribuído à linha. Se a condição falhar, o valor/condição especificado como o terceiro parâmetro será atribuído. Dessa forma, podemos implementar a declaração do caso no quadro de dados de pandas.

Sintaxe

Dataframe_object ['coluna'] = numpy.onde (condição 1, 'valor',
Numpy.onde (condição 2, 'valor',
..
Numpy.onde (condição n, 'valor', 'valor')))))

Exemplo 1

Vamos criar o quadro de dados de pandas nomeado pontuação que contém uma coluna chamada "Classificação" com 5 valores numéricos. Em seguida, crie uma nova coluna chamada "Grade" e especifique valores para cada linha com base na condição especificada dentro de Numpy.Cláusula onde ().

Se a classificação for menor ou igual a 50, atribua a grau como "d". Caso contrário, atribua a nota como "a".

# Importe o quadro de dados do módulo Pandas
De Pandas Importar DataFrame
# Importe o módulo Numpy
importar numpy
# Considere o DataFrame que mantém 5 linhas na coluna - "Classificação"
pontuação = dataframe ('classificação': [25,50,100,56,89])
# DataFrame real
Imprimir (pontuação)
# Especifique as condições e armazene o valor na nova coluna - "Grade".
pontuação ['grau'] = Numpy.onde (pontuação ['classificação']<=50,"D","A")
Imprimir (pontuação)

Saída

Avaliação
0 25
1 50
2 100
3 56
4 89
Classificação de classificação
0 25 d
1 50 d
2 100 a
3 56 a
4 89 a

Explicação

De acordo com a produção, duas classificações são menores ou iguais a 50. Então "D" é atribuído como nota para essas duas linhas. Para as linhas restantes, "A" é atribuído.

Exemplo 2

Vamos criar o quadro de dados de pandas nomeado pontuação que contém uma coluna chamada "Classificação" com 5 valores numéricos. Em seguida, crie uma nova coluna chamada "Grade" e especifique valores para cada linha com base nas condições especificadas dentro do Numpy.Cláusula onde ().

  1. Se a classificação for menor ou igual a 25, atribua a grau como "d".
  2. Se a classificação for menor ou igual a 50, atribua a grau como "C".
  3. Se a classificação for menor ou igual a 75, atribua a nota como "B".
  4. Caso contrário, a nota “A” é atribuída.
# Importe o quadro de dados do módulo Pandas
De Pandas Importar DataFrame
# Importe o módulo Numpy
importar numpy
# Considere o DataFrame que mantém 5 linhas na coluna - "Classificação"
pontuação = dataframe ('classificação': [25,50,100,75,90])
# DataFrame real
Imprimir (pontuação)
# Especifique as condições e armazene o valor na nova coluna - "Grade".
pontuação ['grau'] = Numpy.onde (pontuação ['classificação']<=25,"D",
Numpy.onde (pontuação ['classificação']<=50,"C",
Numpy.onde (pontuação ['classificação']<=75,"B","A")))
Imprimir (pontuação)

Saída

Avaliação
0 25
1 50
2 100
3 75
4 90
Classificação de classificação
0 25 d
1 50 c
2 100 a
3 75 b
4 90 a

Explicação

De acordo com a saída,

  1. Há uma classificação que é menor ou igual a 25. Então, a grau "D" é atribuída.
  2. Há uma classificação que é menor ou igual a 50. Então, a grau "C" é atribuída.
  3. Há uma classificação que é menor ou igual a 75. Então, a grau "B" é atribuída.
  4. As duas linhas restantes foram atribuídas a grau "A".

Cenário 2: use aplicar () como caso quando

Como sabemos, Lambda toma uma expressão condicional para que possamos incluir uma declaração if-else como uma expressão condicional. Se a condição resultar como verdadeira, o valor1 será colocado nas linhas que correspondem à condição. Se a condição falhar, o valor2 será colocado nas linhas que falham na condição. É importante entender que a expressão lambda é passada como um parâmetro para a função APLICAÇÃO (). Portanto, é necessário usar a função apply (), que segue o nome da coluna do objeto DataFrame.

Sintaxe

Dataframe_object ['new colun'] = dataframe_object ['peso'].Aplicar (Lambda X: Value1 Se a condição mais value2)

Aqui:

  1. Podemos especificar a condição usando o operador de relação.
  2. Nova coluna é o nome da coluna.
  3. Precisamos passar uma expressão de lambda dentro da função Apply () que tomará a condição como um parâmetro. Com base na condição, o valor1 é colocado em toda a linha que corresponde à condição. Caso contrário, o valor2 é colocado.

Exemplo 1

Vamos criar o quadro de dados de pandas nomeado animais_number que mantêm uma coluna chamada "Weight" com 6 valores numéricos e criam uma nova coluna e defina valor para "sim", onde o peso é maior que 75 e o valor definido - "não", onde o peso é menor que 75.

# Importe o quadro de dados do módulo Pandas
De Pandas Importar DataFrame
# Considere o DataFrame que mantém 6 linhas na coluna - "Peso"
Animals_Number = DataFrame ('Weight': [10,23,90,45,78,104])
# DataFrame real
Imprimir (animais_number)
# Crie uma nova coluna e defina valor como 'sim', onde o peso é maior que 75.
# e defina o valor - 'não' onde o peso é menor que 75.
animais_number ['peso animal maior que 75'] = animais_number ['peso'].Aplicar (Lambda X: 'Sim' se x> 75 else 'Não')
Imprimir (animais_number)

Saída:

peso
0 10
1 23
2 90
3 45
4 78
5 104
Peso do peso do animal maior que 75
0 10 Não
1 23 não
2 90 Sim
3 45 não
4 78 Sim
5 104 Sim

Explicação

De acordo com a produção, existem três valores na coluna de peso que são inferiores a 75. Na coluna “Peso animal maior que 75”, 'não' é colocado e para os valores restantes 'sim' é colocado.

Exemplo 2

Vamos criar o quadro de dados de pandas nomeado animais que mantêm uma coluna chamada "Nome" com 6 valores e criam uma nova coluna chamada "Type" e Set Value to 'Wild', onde o nome é igual a 'tigre' e restante das linhas para 'doméstico'.

# Importe o quadro de dados do módulo Pandas
De Pandas Importar DataFrame
# Considere o DataFrame que mantém 6 linhas na coluna - "Nome"
Animais = DataFrame ('Nome': ['Tiger', 'Donkey', 'Cow', 'Deer', 'Camel', 'Horse'])
# DataFrame real
impressão (animais)
# Crie uma nova coluna chamada Type e Set Value para 'Wild', onde o nome é 'Tiger' e
# Defina o valor como 'doméstico' onde o valor não é igual a 'tigre'.
Animais ['tipo'] = Animais ['Nome'].Aplique (Lambda X: 'Wild' se x == 'Tiger' else 'doméstico')
impressão (animais)

Saída:

nome
0 Tiger
1 burro
2 vaca
3 Deer
4 camelo
5 cavalos
Tipo de nome
0 Tiger Wild
1 burro doméstico
2 vaca doméstica
3 veados domésticos
4 camelo doméstico
5 cavalos domésticos

Explicação

De acordo com a saída, existe apenas um valor na coluna de nome, que é igual a 'tigre'. Portanto, na coluna "Tipo", "Wild" é colocado e, para os valores restantes, "domésticos" é colocado, pois eles não são iguais a "tigre".

Conclusão:

Neste artigo, quando a condição é satisfeita, uma declaração desse tipo, chamada de declaração de caso, retorna um valor. Vimos como você pode criar uma declaração de caso para executar uma operação ou tarefa necessária. Neste tutorial, usamos o NP.onde () função e a função apply () para criar instruções de caso. Implementamos alguns exemplos para ensiná -lo a usar as declarações de casos de pandas usando a função where () e como usar a função apply () para criar instruções de caso.