Pandos atvejis Kada

Pandos Atvejis Kada



Kai sąlyga įvykdoma arba įvykdoma, atvejo sakinys pandų kalba pateikia išvestį arba grąžina reikšmę. Atvejo teiginys leidžia palyginti kintamojo reikšmę su potencialių verčių diapazonu. Kai reikšmių rinkinys nurodomas arba perduodamas atvejo sakinyje, kiekviena aibėje esanti reikšmė tikrinama pagal teiginyje esančius atvejus arba sąlygas. Taip pat galime naudoti teiginį if-else, kad atliktume tą pačią operaciją. Jei tam tikra sąlyga yra teisinga, if-else sakinys sukelia scenarijaus dalies vykdymą. Jei-else teiginys sako atlikti tai, jei sąlyga yra teisinga, ir padaryti tai, jei ne. Šioje pamokoje mes atliksime įvairias operacijas naudodami didžiųjų atvejų ir if-else teiginius.

Kaip naudotis Pandos atvejo pareiškimu?

Atvejo pareiškimus galima sukurti keliais būdais. Funkcija NumPy where(), kuriai naudojama ši pagrindinė sintaksė, yra paprasčiausias būdas sukurti atvejo sakinį Pandas DataFrame:

df [ 'stulpelio pavadinimas' ] = np.kur ( sąlyga 1 , „vertė1“,
np.kur ( sąlyga du , „2 vertė“,
np.kur ( sąlyga 3 , „value3“, „value4“ ) ) )







Aukščiau pateiktas teiginys patikrins kiekvieną vertės sąlygą ir, jei sąlyga bus įvykdyta, sugeneruos išvestį arba grąžins vertę pagal sąlygą.



1 pavyzdys: Pandos atvejo pareiškimas naudojant funkciją where().

Pirmiausia sukurkime duomenų rėmelį, kad galėtume naudoti mūsų atvejo teiginį. Norėdami sukurti duomenų rėmelį, pirmiausia importuosime numpy ir pandas modulius, kad galėtume naudoti jų funkcijas. Pd.Dataframe() bus naudojamas mūsų duomenų rėmui sukurti.







Sukūrėme „df“ duomenų rėmelį. Python žodynas perduodamas pd viduje.DataFrame() veikia kaip argumentas su raktais ir reikšmėmis. Norėdami pamatyti savo duomenų rėmelį, naudosime funkciją print().



'df' duomenų rėmelyje turime du stulpelius 'name' ir 'marks' su reikšmėmis ['Ron', 'Tim', 'Anna', 'Jack', 'Rob', 'Lucy'] ir [4, 6 , 8, 6, 9,10]. Tarkime, kad šis pavadinimas yra stulpeliai, kuriuose saugomi mokinių vardai, o stulpelyje „pažymiai“ saugomi kokio nors neseniai atlikto testo rezultatai. Dabar parašysime atvejo pareiškimą, kuriame bus pridėtas naujas stulpelis pavadinimu „pastabos“, kurių reikšmės yra pagrįstos mūsų nurodytomis kiekvienos sąlygos reikšmėmis.

Metodas „numpy.where()“ pateikia elementų indeksus iš įvesties masyvo, stulpelio arba sąrašo, kurie atitinka nurodytą sąlygą. Aukščiau pateiktu jungiklio atveju funkcija np.where() patikrina kiekvieną elementą stulpeliuose „žymės“. Jei reikšmė yra lygi 5 arba mažesnė, ji grąžins „nepavyko“ kaip išvestį. Jei reikšmė yra mažesnė arba lygi 7, ji bus patenkinama, o jei reikšmė mažesnė arba lygi 9, ji grąžins „puikus“. Jei jų nėra, rezultatas bus puikus.

Kaip galima pastebėti, naujas stulpelis „Pastabos“ sukuriamas mūsų „df“ duomenų rėmelyje, kuriame saugomos anksčiau pateikto atvejo teiginio grąžintos reikšmės.

2 pavyzdys:

Pabandykime dar kartą pateiktą atvejo teiginį naudodami kitą duomenų rėmelį. Tarkime, kad žaidėjus turime vertinti pagal jų bendrus įvarčius ankstesniame futbolo turnyre. Taigi sukurkime duomenų rėmelį futbolininko įrašams saugoti.

Norėdami sukurti duomenų rėmelį, funkcijoje pd.DataFrame() pateikėme žodyną su raktais „pavadinimas“ ir „tikslai“. Norėdami spausdinti duomenų rėmelį, naudosime spausdinimo funkciją.

Kaip matyti iš aukščiau pateikto duomenų rėmelio, turime du stulpelius: „vardas“ ir „tikslai“. Stulpelio pavadinime turime žaidėjų vardus ['Jonas', 'Marty', 'Clay', 'Nikas', 'Maikas', 'Aleksas', 'Tomas', 'Rokis']. „Įvarčių“ stulpelyje pateikiamas bendras kiekvieno žaidėjo praėjusiame turnyre įmuštų įvarčių skaičius. Dabar naudosime savo atvejo paaiškinimą, kad įvertintume šiuos žaidėjus pagal jų įmuštus įvarčius.

Aukščiau pateiktas atvejis sukuriamas naudojant funkciją where(). Korpuso viduje teiginio funkcija tikrina kiekvieną elementą „žymių“ stulpeliuose pagal sąlygas. Jei reikšmė stulpelyje „tikslai“ yra lygi arba mažesnė už 5, ji grąžins „C“. Jei reikšmė stulpelyje „tikslai“ yra lygi arba mažesnė už 9, ji grąžins „B“. Jis grąžins „A“, jei stulpelio „tikslai“ reikšmė yra lygi arba didesnė už 10. Teiginio grąžintos reikšmės bus saugomos naujame stulpelyje „vertinimas“. Išspausdinkime „df“, kad pamatytume rezultatus.

Naujas stulpelis „reitingas“ sėkmingai sukurtas naudojant aukščiau pateiktą scenarijų.

3 pavyzdys: Pandos if-else teiginys Naudojant taikomąją() funkciją

Duomenų rėmelio eilutės arba stulpelio ašis naudojama taikant () metodą funkcijai įgyvendinti. Galime sukurti savo apibrėžtą funkciją ir naudoti ją savo duomenų rėmelyje pandose. Ją sudarys jei-kita sąlygos. Pirmiausia sukurkime savo duomenų rėmelį, tada sukursime funkciją, kurioje rezultatui generuoti naudosime teiginį if-else. Norėdami sukurti duomenų rėmelį, pirmiausia importuosime pandų modulį, tada perduosime žodyną metodo pd.DataFrame() viduje.

Kaip matyti, mūsų duomenų rėmelį sudaro du stulpeliai „A“, kuriuose saugomos skaitinės reikšmės [23, 35, 64, 74, 85] ir „B“ su reikšmėmis [45, 34, 61, 89, 27]. Dabar sukursime funkciją, kuri nustatys, kuri vertė yra didesnė iš abiejų stulpelių kiekvienoje mūsų duomenų rėmelio eilutėje.

Galite naudoti Python lambda funkciją „pandas. DataFrame.apply()“, kad paleistumėte išraišką. Python sistemoje lambda funkcija yra kompaktiška anoniminė funkcija, kuri priima bet kokį argumentų skaičių ir vykdo išraišką. Aukščiau esančiame scenarijuje sukūrėme sąlygos sakinį, kuris palygins abiejų stulpelių vertę ir išsaugos rezultatą naujame „palyginimo“ stulpelyje. Jei stulpelio „A“ vertė yra mažesnė už stulpelio „B“ reikšmę, ji grąžins „B yra didesnė“. Jei sąlyga netenkinama, grįš „A yra didesnis“.

4 pavyzdys:

Pabandykime kitą pavyzdį naudodami if-else teiginį funkcijoje apply() su kitu duomenų rėmeliu.

Tarkime, kad mūsų duomenų bazėje saugomi kokios nors įmonės darbuotojų įrašai. Stulpelyje „emp“ saugomi darbuotojų vardai ir pavardės ['Franky', 'Harry', 'Luke', 'Peteris', 'Andrius'], o stulpelyje 'atlyginimas' saugomi kiekvieno darbuotojo atlyginimai [1350, 1000, 900 , 1200, 980] „df“ duomenų rėmelyje. Dabar mes sukursime savo if-else teiginį naudodami taikomą () metodą.

Aukščiau pateikta sąlyga patikrins kiekvieną reikšmę stulpelyje „darbo užmokestis“ ir pridės 200 prie darbuotojų atlyginimų, kurių atlyginimo vertė yra mažesnė arba lygi 1000. Išsaugojome reikšmes, grąžintas iš funkcijos taikyti () naujame stulpelyje „ prieaugis“. Pažiūrėkime aukščiau pateikto scenarijaus rezultatus.

Kaip matote, funkcija sėkmingai pridėjo 200 prie reikšmių, kurios buvo mažesnės arba lygios 100. Reikšmės, kurios buvo didesnės nei 1000, liko nepakitusios.

Išvada:

Šioje mokymo programoje matėme, kad kai sąlyga įvykdoma, tokio tipo sakinys, vadinamas atvejo pareiškimu, grąžina reikšmę. Matėme, kaip galite sukurti atvejo pareiškimą, kad atliktumėte reikiamą operaciją ar užduotį. Šioje mokymo programoje naudojome funkciją np.where() ir funkciją apply(), kad sukurtume didžiųjų atvejų sakinius. Įdiegėme kelis pavyzdžius, kad išmokytume, kaip naudoti pandos didžiųjų ir mažųjų raidžių sakinius naudojant funkciją where() ir kaip naudoti funkciją apply() kuriant atvejo sakinius.