Pandas Case Kdaj

Pandas Case Kdaj



Ko je pogoj izpolnjen ali izpolnjen, stavek case v jeziku pandas zagotovi izhod ali vrne vrednost. Stavek primera omogoča primerjavo vrednosti spremenljivke z vrsto potencialnih vrednosti. Ko se niz vrednosti sklicuje ali posreduje v stavku case, vsako vrednost znotraj niza preverijo primeri ali pogoji znotraj stavka. Za isto operacijo lahko uporabimo tudi stavek if-else. Če je določen pogoj resničen, stavek if-else povzroči izvedbo dela skripta. Izjava if-else pravi, da je treba to izvesti, če je pogoj resničen, in to storiti, če ni. V tej vadnici bomo izvajali različne operacije z uporabo stavkov case in stavkov if-else.

Kako uporabljati izjavo o primeru Pandas?

Izjave primerov je mogoče ustvariti na več načinov. Funkcija NumPy where(), ki uporablja naslednjo temeljno sintakso, je najpreprostejši način za sestavo stavka case v Pandas DataFrame:

df [ 'ime stolpca' ] = np.kjer ( stanje 1 , 'vrednost1',
np.kje ( stanje dva , 'vrednost2',
np.kje ( stanje 3 , 'vrednost3', 'vrednost4' ) ) )







Zgornji stavek bo preveril vrednost vsakega pogoja in, če je pogoj izpolnjen, bo ustvaril izhod ali vrnil vrednost glede na pogoj.



Primer št. 1: Izjava o primeru Pandas z uporabo funkcije where().

Najprej ustvarimo podatkovni okvir, da bomo lahko uporabili naš primer. Za ustvarjanje podatkovnega okvirja bomo najprej uvozili modula numpy in pandas, da bomo lahko uporabili njune funkcije. pd.Dataframe() bo uporabljen za ustvarjanje našega podatkovnega okvira.







Ustvarili smo podatkovni okvir 'df'. Slovar Python je posredovan znotraj funkcij pd.DataFrame() kot argument s ključi in vrednostmi. Za ogled podatkovnega okvira bomo uporabili funkcijo print().



V podatkovnem okviru 'df' imamo dva stolpca »name« in »marks« z vrednostmi ['Ron', 'Tim', 'Anna', 'Jack', 'Rob', 'Lucy'] in [4, 6 , 8, 6, 9, 10] oz. Predpostavimo, da je to ime stolpec, v katerem so shranjena imena učencev, stolpec »ocene« pa vsebuje rezultat nekega nedavnega testa. Zdaj bomo napisali izjavo primera, ki bo dodala nov stolpec z imenom »opombe«, katerega vrednosti temeljijo na vrednostih, ki smo jih določili za vsak pogoj.

Metoda »numpy.where()« zagotavlja indekse elementov iz vhodne matrike, stolpca ali seznama, ki izpolnjujejo podani pogoj. V zgornjem primeru stikala funkcija np.where() preveri vsak element v stolpcih »oznak«. Če je vrednost enaka ali manjša od 5, bo kot izhod vrnil »neuspeh«. Če je vrednost manjša ali enaka 7, bo vrnila zadovoljivo, če pa je vrednost manjša ali enaka 9, bo vrnila »odlično«. Če ni nobenega, bo rezultat odličen.

Kot lahko opazite, je nov stolpec »opombe« ustvarjen v našem podatkovnem okviru »df«, v katerem so shranjene vrednosti, ki jih vrne zgornji stavek case.

Primer št. 2:

Znova poskusimo z zgornjim primerom z drugim podatkovnim okvirjem. Recimo, da moramo igralce oceniti glede na njihove skupne cilje na prejšnjem nogometnem turnirju. Naredimo torej podatkovni okvir za shranjevanje zapisov nogometašev.

Posredovali smo slovar s ključema 'name' in 'goals' znotraj funkcije pd.DataFrame(), da ustvarimo naš podatkovni okvir. Za tiskanje našega podatkovnega okvira bomo uporabili funkcijo tiskanja.

Kot je razvidno iz zgornjega podatkovnega okvira, imamo dva stolpca: »ime« in »cilji«. V stolpcu z imenom imamo imena igralcev ['John', 'Marty', 'Clay', 'Nick', 'Mike', 'Alex', 'Tom', 'Rocky']. V stolpcu »goli« imamo skupno število golov, ki jih je vsak igralec dosegel na prejšnjem turnirju. Zdaj bomo uporabili naš primer, da ocenimo te igralce glede na gole, ki so jih dosegli.

Zgornji primer je ustvarjen s funkcijo where(). Znotraj ohišja funkcija izjave preverja vsak element v stolpcih »oznak« glede na pogoje. Če je vrednost v stolpcu »cilji« enaka ali manjša od 5, vrne »C«. Če je vrednost v stolpcu »cilji« enaka ali manjša od 9, vrne »B«. Vrnil bo »A«, če je vrednost v stolpcu »cilji« enaka ali večja od 10. Vrednosti, ki jih vrne izjava, bodo shranjene v novem stolpcu »ocena«. Natisnimo 'df', da vidimo rezultate.

Nov stolpec »ocena« je uspešno ustvarjen z zgornjim skriptom.

Primer št. 3: Izjava Pandas if-else z uporabo funkcije apply().

Metoda apply() uporablja os vrstice ali stolpca podatkovnega okvira za implementacijo funkcije. Ustvarimo lahko lastno definirano funkcijo in jo uporabimo v našem podatkovnem okviru v pandah. Vsebovala bo pogoje if-else. Najprej ustvarimo naš podatkovni okvir, nato pa bomo ustvarili funkcijo, v kateri bomo uporabili stavek if-else za ustvarjanje rezultata. Da bi ustvarili naš podatkovni okvir, bomo najprej uvozili modul pande, nato bomo podali slovar znotraj metode pd.DataFrame().

Kot je razvidno, je naš podatkovni okvir sestavljen iz dveh stolpcev 'A', ki hranita številske vrednosti [23, 35, 64, 74, 85] in 'B' z vrednostmi [45, 34, 61, 89, 27]. Zdaj bomo ustvarili funkcijo, ki bo določila, katera vrednost je večja med obema stolpcema v vsaki vrstici našega podatkovnega okvira.

Uporabite lahko funkcijo Python lambda »pandas. DataFrame.apply()« za zagon izraza. V Pythonu je funkcija lambda kompaktna anonimna funkcija, ki sprejme poljubno število argumentov in izvede izraz. V zgornjem skriptu smo ustvarili stavek pogoja, ki bo primerjal vrednost obeh stolpcev in shranil rezultat v nov stolpec »primerjave«. Če je vrednost stolpca »A« manjša od vrednosti stolpca »B«, vrne »B je večji«. Če pogoj ni izpolnjen, bo vrnjeno 'A je večje'.

Primer št. 4:

Poskusimo drug primer z uporabo stavka if-else znotraj funkcije apply() z drugim podatkovnim okvirjem.

Recimo, da naš podatkovni okvir shranjuje evidence zaposlenih v nekem podjetju. V stolpcu 'emp' so shranjena imena zaposlenih [»Franky«, »Harry«, »Luke«, »Peter«, »Andrew«], v stolpcu »salary« pa so shranjene plače vsakega zaposlenega [1350, 1000, 900 , 1200, 980] v podatkovnem okviru 'df'. Zdaj bomo ustvarili stavek if-else z uporabo metode apply().

Zgornji pogoj bo preveril vsako vrednost v stolpcu 'plača' in dodal 200 plačam zaposlenih, kjer je vrednost plače manjša ali enaka 1000. Vrednosti, vrnjene iz funkcije apply(), smo shranili v nov stolpec ' prirast'. Oglejmo si rezultate zgornjega skripta.

Kot lahko vidite, je funkcija uspešno dodala 200 vrednostim, ki so bile manjše ali enake 100. Vrednosti, ki so bile večje od 1000, so ostale nespremenjene.

Zaključek:

V tej vadnici smo videli, da ko je pogoj izpolnjen, stavek te vrste, imenovan stavek case, vrne vrednost. Videli smo, kako lahko ustvarite izjavo primera za izvedbo zahtevane operacije ali opravila. V tej vadnici smo za ustvarjanje stavkov velikih in malih črk uporabili funkcijo np.where() in aplikacijo apply(). Implementirali smo nekaj primerov, da vas naučimo, kako uporabljati izjave o velikih in malih črkah pandas s funkcijo where() in kako uporabiti funkcijo apply() za ustvarjanje stavkov za velike in male črke.