Caso di panda quando

Caso di panda quando

In questo tutorial, eseguiremo operazioni diverse utilizzando dichiarazioni di casi e istruzioni IF-ELSE. Un'istruzione Case consente di confrontare il valore di una variabile con un intervallo di valori potenziali. Quando l'insieme di valori viene indicato o approvato nell'istruzione del caso, ogni valore all'interno del set viene verificato dalle casse o dalle condizioni all'interno dell'istruzione.

L'istruzione del caso nel Frame dati Pandas fornisce un output o restituisce un valore se la condizione è soddisfatta.

Scenario 1: usa numpy.dove () come caso quando

In questo scenario, controlleremo ogni condizione per il valore e, se la condizione è soddisfatta, genererà l'output o restituiremo il valore rispetto alla condizione. Dobbiamo importare il modulo numpy. Altrimenti, viene lanciata un'eccezione del modulo.

Qui, Numpy.dove () accetta la condizione come primo parametro. Se la condizione è vera, il valore specificato nel secondo parametro viene assegnato alla riga. Se la condizione fallisce, viene assegnato il valore/condizione specificato come terzo parametro. In questo modo, possiamo implementare la dichiarazione del caso nel frame dati Pandas.

Sintassi

Dataframe_object ['colonna'] = numpy.dove (condizione 1, 'valore',
numpy.dove (condizione 2, 'valore',
..
numpy.dove (condizione n, 'valore', 'valore')))

Esempio 1

Creiamo il telaio dati Pandas denominato punto che contiene una colonna denominata "valutazione" con 5 valori numerici. Quindi, crea una nuova colonna denominata "Grado" e specifica i valori per ogni riga in base alla condizione specificata all'interno di Numpy.dove la clausola.

Se la valutazione è inferiore o uguale a 50, assegna il grado come "D". Altrimenti, assegna il grado come "A".

# Importa il frame dati dal modulo Pandas
da Panda Import DataFrame
# Importa il modulo numpy
importa numpy
# Considera il telaio di dati che contiene 5 righe in colonna - "Valutazione"
SCORE = dataFrame ('Valutazione': [25,50,100,56,89])
# Frame di dati effettivi
Stampa (punteggio)
# Specificare le condizioni e memorizzare il valore nella nuova colonna - "Grado".
SCOPO ['Grade'] = Numpy.dove (punteggio ['rating']<=50,"D","A")
Stampa (punteggio)

Produzione

Valutazione
0 25
1 50
2 100
3 56
4 89
Grado di valutazione
0 25 d
1 50 d
2 100 a
3 56 a
4 89 a

Spiegazione

Secondo l'output, due valutazioni sono inferiori o uguali a 50. Quindi "d" è assegnato come voto per queste due righe. Per le righe rimanenti, è assegnato "A".

Esempio 2

Creiamo il telaio dati Pandas denominato punto che contiene una colonna denominata "valutazione" con 5 valori numerici. Quindi, crea una nuova colonna denominata "Grado" e specifica i valori per ogni riga in base alle condizioni specificate all'interno di Numpy.dove la clausola.

  1. Se la valutazione è inferiore o uguale a 25, assegna il grado come "D".
  2. Se la valutazione è inferiore o uguale a 50, assegna il grado come "C".
  3. Se la valutazione è inferiore o uguale a 75, assegna il grado come "B".
  4. Altrimenti, viene assegnato il grado "A".
# Importa il frame dati dal modulo Pandas
da Panda Import DataFrame
# Importa il modulo numpy
importa numpy
# Considera il telaio di dati che contiene 5 righe in colonna - "Valutazione"
SCOPE = dataFrame ('Valutazione': [25,50,100,75,90])
# Frame di dati effettivi
Stampa (punteggio)
# Specificare le condizioni e memorizzare il valore nella nuova colonna - "Grado".
SCOPO ['Grade'] = Numpy.dove (punteggio ['rating']<=25,"D",
numpy.dove (punteggio ['rating']<=50,"C",
numpy.dove (punteggio ['rating']<=75,"B","A")))
Stampa (punteggio)

Produzione

Valutazione
0 25
1 50
2 100
3 75
4 90
Grado di valutazione
0 25 d
1 50 c
2 100 a
3 75 b
4 90 a

Spiegazione

Secondo l'output,

  1. C'è una valutazione inferiore o uguale a 25. Quindi viene assegnato il grado "D".
  2. C'è una valutazione inferiore o uguale a 50. Quindi viene assegnato il grado "C".
  3. C'è una valutazione inferiore o uguale a 75. Quindi viene assegnato il grado "b".
  4. Le restanti due righe sono state assegnate "A".

Scenario 2: usa Applica () come caso quando

Come sappiamo, Lambda prende un'espressione condizionale in modo tale da poter includere un'istruzione IF-ELSE come espressione condizionale. Se la condizione risulta vera, allora valore1 viene posizionato attraverso le righe che corrispondono alla condizione. Se la condizione fallisce, il valore2 viene posizionato attraverso le righe che falliscono la condizione. È importante capire che l'espressione di lambda viene passata come parametro alla funzione Applica (). Quindi è necessario utilizzare la funzione Applica (), che segue il nome della colonna dell'oggetto DataFrame.

Sintassi

DataFrame_Object ['new Column'] = DataFrame_Object ['peso'].Applica (lambda x: valore1 se condizione else value2)

Qui:

  1. Possiamo specificare la condizione utilizzando l'operatore di relazione.
  2. La nuova colonna è il nome della colonna.
  3. Dobbiamo passare un'espressione di lambda all'interno della funzione Applica () che prenderà la condizione come parametro. In base alla condizione, il valore1 viene posizionato attraverso la riga che corrisponde alla condizione. Altrimenti, il valore2 viene posizionato.

Esempio 1

Creiamo il telaio dati Pandas denominato animali_number che contengono una colonna denominata "peso" con 6 valori numerici e crea una nuova colonna e imposta il valore su "sì" in cui il peso è maggiore di 75 e imposta il valore - "no" dove il peso è inferiore a 75.

# Importa il frame dati dal modulo Pandas
da Panda Import DataFrame
# Considera il telaio di dati che contiene 6 righe in colonna - "peso"
animali_number = dataFrame ('Weight': [10,23,90,45,78.104])
# Frame di dati effettivi
Stampa (animali_number)
# Crea una nuova colonna e imposta il valore su "Sì" in cui il peso è maggiore di 75.
# e imposta il valore - 'no' dove il peso è inferiore a 75.
animali_number ['peso animale maggiore di 75'] = animali_number ['peso'].Applica (lambda x: 'sì' se x> 75 else 'no')
Stampa (animali_number)

Produzione:

peso
0 10
1 23
2 90
3 45
4 78
5 104
Peso peso animale maggiore di 75
0 10 no
1 23 no
2 90 Sì
3 45 no
4 78 Sì
5 104 Sì

Spiegazione

Secondo l'output, ci sono tre valori nella colonna di peso che sono inferiori a 75. Nella colonna "Peso animale maggiore di 75", viene posizionato "No" e per i valori rimanenti "Sì" vengono posizionati.

Esempio 2

Creiamo il telaio dati Pandas denominato animali che detengono una colonna denominata "nome" con 6 valori e crea una nuova colonna denominata "tipo" e imposta il valore su "selvaggio" in cui il nome è uguale a "tigre" e il resto delle righe su "domestico".

# Importa il frame dati dal modulo Pandas
da Panda Import DataFrame
# Considera il frame dati che contiene 6 righe in colonna - "Nome"
animali = dataFrame ('name': ['tiger', 'Donkey', 'Cow', 'Deer', 'Camel', 'Horse'])
# Frame di dati effettivi
Stampa (animali)
# Crea una nuova colonna denominata tipo e imposta il valore su "selvaggio" dove il nome è "tigre" e
# Imposta il valore su "domestico" dove il valore non è uguale a "tigre".
animali ['type'] = animali ['name'].Applica (lambda x: 'selvaggio' se x == 'tiger' else 'domestico')
Stampa (animali)

Produzione:

nome
0 tigre
1 asino
2 mucca
3 cervo
4 cammello
5 cavalli
Tipo di nome
0 Tiger Wild
1 Donkey domestico
2 mucca domestica
3 cervo domestico
4 cammelli domestici
5 cavalli domestici

Spiegazione

Secondo l'output, c'è solo un valore nella colonna Nome, che è uguale a "Tiger". Quindi nella colonna "Tipo", "Wild" è posizionato e per i valori rimanenti, "domestico" è posizionato in quanto non sono uguali a "tigre".

Conclusione:

In questo articolo, quando la condizione è soddisfatta, una dichiarazione di questo tipo, chiamata dichiarazione del caso, restituisce un valore. Abbiamo visto come è possibile creare un'istruzione Case per eseguire un'operazione o un compito richiesto. In questo tutorial, abbiamo usato il NP.dove () funzione e funzione appliche () per creare istruzioni casi. Abbiamo implementato alcuni esempi per insegnarti come utilizzare le dichiarazioni dei casi Pandas utilizzando la funzione Where () e come utilizzare la funzione Applica () per creare dichiarazioni casi.