Prípad pandy Kedy

Pripad Pandy Kedy



Keď je podmienka splnená alebo splnená, príkaz case v jazyku pandas poskytne výstup alebo vráti hodnotu. Výpis prípadu umožňuje porovnať hodnotu premennej s rozsahom potenciálnych hodnôt. Keď sa na množinu hodnôt odkazuje alebo sa odovzdáva v príkaze case, každá hodnota v množine je kontrolovaná prípadmi alebo podmienkami vo vnútri príkazu. Na vykonanie rovnakej operácie môžeme použiť aj príkaz if-else. Ak je určitá podmienka pravdivá, príkaz if-else spôsobí spustenie časti skriptu. Príkaz if-else hovorí, že to treba vykonať, ak je podmienka pravdivá, a urobiť to, ak nie. V tomto návode vykonáme rôzne operácie pomocou príkazov case a if-else.

Ako používať vyhlásenie o prípade Pandas?

Prípadové vyhlásenia je možné vytvárať niekoľkými spôsobmi. Funkcia NumPy where(), ktorá využíva nasledujúcu základnú syntax, je najjednoduchším spôsobom, ako vytvoriť príkaz case v Pandas DataFrame:

df [ 'názov stĺpca' ] = np.kde ( stave 1 , ‚hodnota1‘,
np.kde ( stave dva , „hodnota2“,
np.kde ( stave 3 , ‚hodnota3‘, ‚hodnota4‘ ) ) )







Vyššie uvedený príkaz skontroluje každú podmienku na hodnotu a ak je podmienka splnená, vygeneruje výstup alebo vráti hodnotu proti podmienke.



Príklad č. 1: Vyhlásenie prípadu Pandas Použitie funkcie where().

Najprv vytvorte dátový rámec, aby sme mohli použiť naše vyhlásenie o prípade. Na vytvorenie dátového rámca najskôr naimportujeme moduly numpy a pandas, aby sme mohli použiť ich funkcie. Na vytvorenie nášho dátového rámca sa použije pd.Dataframe().







Vytvorili sme dátový rámec „df“. Pythonský slovník je odovzdaný do funkcií pd.DataFrame() ako argument s kľúčmi a hodnotami. Na zobrazenie nášho dátového rámca použijeme funkciu print().



V dátovom rámci 'df' máme dva stĺpce 'name' a 'marks' s hodnotami ['Ron', 'Tim', 'Anna', 'Jack', 'Rob', 'Lucy'] a [4, 6 8, 6, 9, 10]. Predpokladajme, že toto meno sú stĺpce s menami študentov a stĺpec „známky“ obsahuje skóre nejakého nedávneho testu. Teraz napíšeme prípad, ktorý pridá nový stĺpec s názvom „poznámky“, ktorého hodnoty sú založené na nami špecifikovaných hodnotách pre každú podmienku.

Metóda „numpy.where()“ poskytuje indexy prvkov zo vstupného poľa, stĺpca alebo zoznamu, ktoré spĺňajú zadanú podmienku. Vo vyššie uvedenom prípade prepínača funkcia np.where() kontroluje každý prvok v stĺpcoch „značky“. Ak je hodnota rovná alebo menšia ako 5, ako výstup vráti „fail“. Ak je hodnota menšia alebo rovná 7, vráti sa uspokojivá a ak je hodnota menšia alebo rovná 9, vráti hodnotu „skvelá“. Ak nie sú žiadne, výsledok bude vynikajúci.

Ako si môžete všimnúť, nový stĺpec „poznámky“ je vytvorený v našom dátovom rámci „df“, v ktorom sú uložené hodnoty vrátené vyššie uvedeným príkazom case.

Príklad č. 2:

Skúsme znova vyššie uvedený prípad s iným dátovým rámcom. Predpokladajme, že musíme ohodnotiť hráčov na základe ich celkových gólov v predchádzajúcom futbalovom turnaji. Takže urobme dátový rámec na ukladanie záznamov futbalových hráčov.

V rámci funkcie pd.DataFrame() sme odovzdali slovník s kľúčmi ‚name‘ a ‚goals‘, aby sme vytvorili náš dátový rámec. Na tlač nášho dátového rámca použijeme funkciu tlače.

Ako je možné vidieť vo vyššie uvedenom dátovom rámci, máme dva stĺpce: „meno“ a „ciele“. V názve stĺpca máme mená hráčov [‚John‘, ‚Marty‘, ‚Clay‘, ‚Nick‘, ‚Mike‘, ‚Alex‘, ‚Tom‘, ‚Rocky‘]. V ‚stĺpci‘ góly máme celkový počet gólov strelených každým hráčom v predchádzajúcom turnaji. Teraz použijeme naše vyjadrenie k prípadu na hodnotenie týchto hráčov na základe gólov, ktoré strelili.

Vyššie uvedený prípad je vytvorený pomocou funkcie where(). Vo vnútri prípadu funkcia výpisu kontroluje každý prvok v stĺpcoch „značky“ podľa podmienok. Ak je hodnota v stĺpci „ciele“ rovná alebo menšia ako 5, vráti „C“. Ak je hodnota v stĺpci „ciele“ rovná alebo menšia ako 9, vráti „B“. Vráti „A“, ak je hodnota v stĺpci „ciele“ rovná alebo väčšia ako 10. Hodnoty vrátené príkazom sa uložia do nového stĺpca „hodnotenie“. Vytlačíme „df“, aby sme videli výsledky.

Nový stĺpec „hodnotenie“ sa úspešne vytvorí pomocou vyššie uvedeného skriptu.

Príklad č. 3: Príkaz Pandas if-else Použitie funkcie apply().

Os riadkov alebo stĺpcov dátového rámca používa metóda apply() na implementáciu funkcie. Môžeme si vytvoriť vlastnú definovanú funkciu a použiť ju v našom dátovom rámci v pandách. Bude obsahovať podmienky if-other. Najprv si vytvorte náš dátový rámec, potom vytvoríme funkciu, v ktorej použijeme príkaz if-else na vygenerovanie výsledku. Aby sme vytvorili náš dátový rámec, najprv naimportujeme modul pandy a potom prenesieme slovník do metódy pd.DataFrame().

Ako je možné vidieť, náš dátový rámec sa skladá z dvoch stĺpcov „A“ s číselnými hodnotami [23, 35, 64, 74, 85] a „B“ s hodnotami [45, 34, 61, 89, 27]. Teraz vytvoríme funkciu, ktorá určí, ktorá hodnota je väčšia medzi oboma stĺpcami v každom riadku nášho dátového rámca.

Môžete použiť funkciu Python lambda „pandy. DataFrame.apply()” na spustenie výrazu. V Pythone je funkcia lambda kompaktná anonymná funkcia, ktorá prijíma ľubovoľný počet argumentov a vykonáva výraz. Vo vyššie uvedenom skripte sme vytvorili podmienku, ktorá porovná hodnotu oboch stĺpcov a výsledok uloží do nového stĺpca „porovnanie“. Ak je hodnota stĺpca „A“ menšia ako hodnota stĺpca „B“, vráti „B je väčšia“. Ak podmienka nie je splnená, vráti „A je väčšie“.

Príklad č. 4:

Skúsme ďalší príklad pomocou príkazu if-else vo funkcii apply() s iným dátovým rámcom.

Predpokladajme, že v našom dátovom rámci sú uložené záznamy zamestnancov nejakej spoločnosti. Stĺpec 'emp' obsahuje mená zamestnancov ['Franky', 'Harry', 'Luke', 'Peter', 'Andrew'], zatiaľ čo stĺpec 'plat' obsahuje platy každého zamestnanca [1350, 1000, 900 , 1200, 980] v dátovom rámci 'df'. Teraz vytvoríme náš príkaz if-else pomocou metódy apply().

Vyššie uvedená podmienka skontroluje každú hodnotu v stĺpci 'plat' a pridá 200 k platom zamestnancov, ktorých hodnota platu je menšia alebo rovná 1 000. Hodnoty vrátené z funkcie apply() sme uložili do nového stĺpca ' prírastok“. Pozrime sa na výsledky z vyššie uvedeného skriptu.

Ako vidíte, funkcia úspešne pridala 200 k hodnotám, ktoré boli menšie alebo rovné 100. Hodnoty, ktoré boli väčšie ako 1000, zostali nezmenené.

Záver:

V tomto návode sme videli, že keď je podmienka splnená, príkaz tohto typu, nazývaný príkaz case, vráti hodnotu. Videli sme, ako môžete vytvoriť vyhlásenie o prípade na vykonanie požadovanej operácie alebo úlohy. V tomto návode sme použili funkciu np.where() a funkciu apply() na vytvorenie príkazov typu case. Implementovali sme niekoľko príkladov, aby sme vás naučili používať príkazy typu pandas pomocou funkcie where() a ako používať funkciu apply() na vytváranie príkazov typu case.