Pandas sak når

Pandas sak når

I denne opplæringen vil vi utføre forskjellige operasjoner ved å bruke saksuttalelser og IF-Else-uttalelser. En saksuttalelse gjør det mulig å sammenligne verdien av en variabel med en rekke potensielle verdier. Når verdisett blir henvist til eller bestått i saksoppgaven, blir hver verdi inne i settet sjekket av sakene eller betingelsene i uttalelsen.

Saksuttalelse i Pandas DataFrame gir en utgang eller returnerer en verdi hvis tilstanden er fornøyd.

Scenario 1: Bruk numpy.hvor () som tilfelle når

I dette scenariet vil vi sjekke hver betingelse for verdien, og hvis tilstanden er oppfylt, vil generere utgangen eller returnere verdien mot tilstanden. Vi må importere Numpy -modulen. Ellers kastes et modul unntak.

Her, numpy.hvor () godtar tilstanden som den første parameteren. Hvis tilstanden er sann, blir verdien som er spesifisert i den andre parameteren tilordnet raden. Hvis tilstanden mislykkes, tildeles verdien/tilstanden som er spesifisert som den tredje parameteren. På denne måten kan vi implementere saksuttalelsen i Pandas DataFrame.

Syntaks

DataFrame_Object ['Column'] = numpy.hvor (tilstand 1, 'verdi',
numpy.hvor (tilstand 2, 'verdi',
..
numpy.hvor (tilstand n, 'verdi', 'verdi'))

Eksempel 1

La oss opprette Pandas DataFrame som heter poengsum som inneholder en kolonne som heter “Rating” med 5 numeriske verdier. Opprett deretter en ny kolonne som heter "karakter" og spesifiser verdier for hver rad basert på tilstanden som er spesifisert i Numpy.hvor () klausul.

Hvis vurderingen er mindre enn eller lik 50, må du tilordne karakter som "D". Ellers, tilordne karakter som "a".

# Importer DataFrame fra Pandas -modulen
Fra Pandas importer DataFrame
# Importer Numpy -modulen
Importer numpy
# Tenk på DataFrame som holder 5 rader i kolonne - "Rating"
score = DataFrame ('Rating': [25,50,100,56,89])
# Faktisk DataFrame
trykk (poengsum)
# Spesifiser forholdene og lagre verdien i den nye kolonnen - "karakter".
score ['karakter'] = numpy.hvor (score ['rating']<=50,"D","A")
trykk (poengsum)

Produksjon

Vurdering
0 25
1 50
2 100
3 56
4 89
Rating karakter
0 25 d
1 50 d
2 100 a
3 56 a
4 89 a

Forklaring

I henhold til utgangen er to rangeringer mindre enn eller lik 50. Så "D" tildeles som karakter for disse to radene. For de gjenværende radene tildeles “A”.

Eksempel 2

La oss opprette Pandas DataFrame som heter poengsum som inneholder en kolonne som heter “Rating” med 5 numeriske verdier. Opprett deretter en ny kolonne som heter "karakter" og spesifiser verdier for hver rad basert på forholdene som er spesifisert i Numpy.hvor () klausul.

  1. Hvis vurderingen er mindre enn eller lik 25, må du tilordne karakter som "D".
  2. Hvis vurderingen er mindre enn eller lik 50, må du tilordne karakter som "C".
  3. Hvis vurderingen er mindre enn eller lik 75, må du tilordne karakter som "B".
  4. Ellers tildeles “A” karakter.
# Importer DataFrame fra Pandas -modulen
Fra Pandas importer DataFrame
# Importer Numpy -modulen
Importer numpy
# Tenk på DataFrame som holder 5 rader i kolonne - "Rating"
score = DataFrame ('Rating': [25,50,100,75,90])
# Faktisk DataFrame
trykk (poengsum)
# Spesifiser forholdene og lagre verdien i den nye kolonnen - "karakter".
score ['karakter'] = numpy.hvor (score ['rating']<=25,"D",
numpy.hvor (score ['rating']<=50,"C",
numpy.hvor (score ['rating']<=75,"B","A")))
trykk (poengsum)

Produksjon

Vurdering
0 25
1 50
2 100
3 75
4 90
Rating karakter
0 25 d
1 50 c
2 100 a
3 75 b
4 90 a

Forklaring

I henhold til utgangen,

  1. Det er en vurdering som er mindre enn eller lik 25. Så "D" -karakter er tildelt.
  2. Det er en vurdering som er mindre enn eller lik 50. Så "C" -karakteren er tildelt.
  3. Det er en rangering som er mindre enn eller lik 75. Så "B" -karakter er tildelt.
  4. De resterende to radene ble tildelt karakter “a”.

Scenario 2: Bruk Apply () som tilfelle når

Som vi vet, tar Lambda et betinget uttrykk slik at vi kan inkludere en if-ests-uttalelse som et betinget uttrykk. Hvis tilstanden resulterer som sann, plasseres verdi1 over radene som samsvarer med tilstanden. Hvis tilstanden mislykkes, plasseres verdien2 over radene som mislykkes tilstanden. Det er viktig å forstå at lambda -uttrykk blir gitt som en parameter til Apply () -funksjonen. Så det er nødvendig å bruke Apply () -funksjonen, som følger kolonnenavnet til DataFrame -objektet.

Syntaks

DataFrame_Object ['Ny kolonne'] = DataFrame_Object ['Vekt'].Bruk (lambda x: verdi1 hvis tilstand ellers verdi2)

Her:

  1. Vi kan spesifisere tilstanden ved hjelp av forholdsoperatøren.
  2. Ny kolonne er kolonnenavnet.
  3. Vi må passere et lambda -uttrykk i Apply () -funksjonen som vil ta tilstanden som en parameter. Basert på tilstanden er verdi1 plassert over raden som samsvarer med tilstanden. Ellers plasseres verdi2.

Eksempel 1

La oss opprette Pandas DataFrame som heter dyr_nummer som holder en kolonne som heter “Vekt” med 6 numeriske verdier og oppretter en ny kolonne og angitt verdi til 'Ja' der vekten er større enn 75 og angitt verdi - 'Nei' der vekten er mindre enn 75.

# Importer DataFrame fra Pandas -modulen
Fra Pandas importer DataFrame
# Tenk på DataFrame som holder 6 rader i kolonnen - "Vekt"
Dyr_nummer = DataFrame ('vekt': [10,23,90,45,78,104])
# Faktisk DataFrame
print (dyr_nummer)
# Lag en ny kolonne og sett verdi til 'Ja' der vekten er større enn 75.
# og angi verdien - 'nei' der vekten er mindre enn 75.
dyr_nummer ['Animal Weight større enn 75'] = Animals_number ['vekt'].Bruk (Lambda X: 'Ja' hvis x> 75 annet 'nei')
print (dyr_nummer)

Produksjon:

vekt
0 10
1 23
2 90
3 45
4 78
5 104
Vekt Animalvekt større enn 75
0 10 nr
1 23 nei
2 90 Ja
3 45 nei
4 78 Ja
5 104 Ja

Forklaring

I henhold til utgangen er det tre verdier i vektkolonnen som er mindre enn 75. I "dyrevekten større enn 75" er 'nei' plassert, og for de gjenværende verdiene er "ja" plassert.

Eksempel 2

La oss opprette Pandas DataFrame som heter dyr som holder en kolonne som heter “Navn” med 6 verdier og oppretter en ny kolonne som heter “Type” og angir verdi til 'Wild' der navnet tilsvarer 'Tiger' og resten av radene til 'Domestic'.

# Importer DataFrame fra Pandas -modulen
Fra Pandas importer DataFrame
# Tenk på DataFrame som holder 6 rader i kolonnen - "Navn"
Dyr = DataFrame ('Navn': ['Tiger', 'Donkey', 'Cow', 'Deer', 'Camel', 'Horse'])
# Faktisk DataFrame
trykk (dyr)
# Opprett en ny kolonne som heter Type og sett verdi til 'Wild' der navnet er 'Tiger' og
# Angi verdi til 'innenlandsk' der verdien ikke er lik 'tiger'.
dyr ['type'] = dyr ['navn'].Bruk (Lambda X: 'Wild' hvis x == 'Tiger' annet 'innenlandsk')
trykk (dyr)

Produksjon:

Navn
0 Tiger
1 esel
2 ku
3 hjort
4 kamel
5 hest
Navntype
0 tiger vill
1 esel innenlands
2 Ku husholdning
3 hjort innenlandsk
4 kamel innenlands
5 hest husholdning

Forklaring

I henhold til utgangen er det bare en verdi i Navnkolonnen, som er lik 'Tiger'. Så i "Type" -kolonnen er 'Wild' plassert, og for de gjenværende verdiene er 'Domestic' plassert da de ikke er lik 'Tiger'.

Konklusjon:

I denne artikkelen, når tilstanden er oppfylt, returnerer en uttalelse av denne typen, en saksuttalelse, en verdi. Vi har sett hvordan du kan opprette en saksuttalelse for å utføre en nødvendig operasjon eller oppgave. I denne opplæringen har vi brukt NP.hvor () funksjon og Apply () -funksjonen for å lage saksuttalelser. Vi implementerte noen få eksempler for å lære deg hvordan du bruker Pandas Case -utsagn ved å bruke Where () -funksjonen og hvordan du bruker Apply () -funksjonen for å opprette saksuttalelser.