Případ pandy Kdy

Pripad Pandy Kdy



Když je podmínka splněna nebo splněna, příkaz case v jazyce pandas poskytne výstup nebo vrátí hodnotu. Příkaz případu umožňuje porovnat hodnotu proměnné s rozsahem potenciálních hodnot. Když se na množinu hodnot odkazuje nebo je předávána v příkazu case, každá hodnota v sadě je kontrolována případy nebo podmínkami uvnitř příkazu. Ke stejné operaci můžeme také použít příkaz if-else. Pokud je určitá podmínka pravdivá, příkaz if-else způsobí provedení části skriptu. Příkaz if-else říká, aby se to provedlo, pokud je podmínka pravdivá, a aby se to udělalo, pokud není. V tomto tutoriálu budeme provádět různé operace pomocí příkazů case a if-else.

Jak používat prohlášení o případu Pandas?

Případová prohlášení lze vytvořit několika způsoby. Funkce NumPy where(), která využívá následující základní syntaxi, je nejjednodušší způsob, jak vytvořit příkaz case v Pandas DataFrame:

df [ 'název sloupce' ] = np.kde ( stav 1 , ‚hodnota1‘,
np.kde ( stav dva , ‚hodnota2‘,
np.kde ( stav 3 , ‚hodnota3‘, ‚hodnota4‘ ) ) )







Výše uvedený příkaz zkontroluje každou podmínku na hodnotu a pokud je podmínka splněna, vygeneruje výstup nebo vrátí hodnotu proti podmínce.



Příklad č. 1: Prohlášení případu Pandas Použití funkce where().

Nejprve vytvořte datový rámec, abychom mohli použít naše prohlášení o případu. Abychom vytvořili datový rámec, nejprve naimportujeme moduly numpy a pandas, abychom mohli používat jejich funkce. K vytvoření našeho datového rámce se použije pd.Dataframe().







Vytvořili jsme datový rámec „df“. Pythonský slovník je předán uvnitř funkcí pd.DataFrame() jako argument s klíči a hodnotami. K zobrazení našeho datového rámce použijeme funkci print().



V datovém rámci 'df' máme dva sloupce 'name' a 'marks' s hodnotami ['Ron', 'Tim', 'Anna', 'Jack', 'Rob', 'Lucy'] a [4, 6 , 8, 6, 9, 10]. Předpokládejme, že název jsou sloupce se jmény studentů a sloupec „známky“ ukládá skóre nějakého nedávného testu. Nyní napíšeme příkaz case, který přidá nový sloupec s názvem „poznámky“, jehož hodnoty jsou založeny na námi zadaných hodnotách pro každou podmínku.

Metoda „numpy.where()“ poskytuje indexy prvků ze vstupního pole, sloupce nebo seznamu, které splňují zadanou podmínku. Ve výše uvedeném případě přepínače funkce np.where() kontroluje každý prvek ve sloupcích „značky“. Pokud je hodnota rovna nebo menší než 5, vrátí se jako výstup „selhání“. Pokud je hodnota menší nebo rovna 7, vrátí se uspokojivá, a pokud je hodnota menší nebo rovna 9, vrátí „skvělé“. Pokud žádné nejsou, bude výsledek vynikající.

Jak si můžete všimnout, nový sloupec „poznámky“ je vytvořen v našem datovém rámci „df“ a ukládá hodnoty vrácené výše uvedeným příkazem case.

Příklad č. 2:

Zkusme výše uvedený případ znovu s jiným datovým rámcem. Předpokládejme, že musíme hráče ohodnotit na základě jejich celkového počtu gólů v předchozím fotbalovém turnaji. Udělejme tedy datový rámec pro ukládání záznamů fotbalových hráčů.

Předali jsme slovník s klíči ‚name‘ a ‚goals‘ uvnitř funkce pd.DataFrame(), abychom vytvořili náš datový rámec. Pro tisk našeho datového rámečku použijeme funkci tisku.

Jak je vidět ve výše uvedeném datovém rámci, máme dva sloupce: „název“ a „cíle“. V názvu sloupce máme jména hráčů [‚John‘, ‚Marty‘, ‚Clay‘, ‚Nick‘, ‚Mike‘, ‚Alex‘, ‚Tom‘, ‚Rocky‘]. Ve ‚sloupci‘ gólů máme celkový počet gólů vstřelených každým hráčem v předchozím turnaji. Nyní použijeme naše vyjádření k hodnocení těchto hráčů na základě gólů, které vstřelili.

Výše uvedený případ je vytvořen pomocí funkce where(). Uvnitř případu funkce příkazu kontroluje každý prvek ve sloupcích „značky“ podle podmínek. Pokud je hodnota ve sloupci ‚cíle‘ rovna nebo menší než 5, vrátí ‚C‘. Pokud je hodnota ve sloupci ‚cíle‘ rovna nebo menší než 9, vrátí ‚B‘. Vrátí „A“, pokud je hodnota ve sloupci „cíle“ rovna nebo větší než 10. Hodnoty vrácené příkazem budou uloženy v novém sloupci „hodnocení“. Vytiskneme si „df“, abychom viděli výsledky.

Pomocí výše uvedeného skriptu byl úspěšně vytvořen nový sloupec „hodnocení“.

Příklad č. 3: Příkaz Pandas if-else Použití funkce apply().

Osu řádků nebo sloupců datového rámce používá metoda apply() k implementaci funkce. Můžeme si vytvořit vlastní definovanou funkci a použít ji v našem datovém rámci v pandách. Bude obsahovat podmínky if-other. Nejprve vytvoříme náš datový rámec, poté vytvoříme funkci, ve které použijeme příkaz if-else ke generování výsledku. Abychom vytvořili náš datový rámec, nejprve naimportujeme modul pandy a poté předáme slovník uvnitř metody pd.DataFrame().

Jak je vidět, náš datový rámec se skládá ze dvou sloupců „A“ s číselnými hodnotami [23, 35, 64, 74, 85] a „B“ s hodnotami [45, 34, 61, 89, 27]. Nyní vytvoříme funkci, která určí, která hodnota je větší mezi oběma sloupci v každém řádku našeho datového rámce.

Můžete použít pythonskou lambda funkci „pandy. DataFrame.apply()” ke spuštění výrazu. V Pythonu je funkce lambda kompaktní anonymní funkce, která přijímá libovolný počet argumentů a provádí výraz. Ve skriptu výše jsme vytvořili příkaz podmínky, který porovná hodnotu obou sloupců a uloží výsledek do nového sloupce ‚porovnání‘. Pokud je hodnota sloupce „A“ menší než hodnota sloupce „B“, vrátí „B je větší“. Pokud podmínka není splněna, vrátí „A je větší“.

Příklad č. 4:

Zkusme další příklad pomocí příkazu if-else uvnitř funkce apply() s jiným datovým rámcem.

Předpokládejme, že náš datový rámec uchovává záznamy zaměstnanců nějaké společnosti. Sloupec 'emp' obsahuje jména zaměstnanců ['Franky', 'Harry', 'Luke', 'Peter', 'Andrew'], zatímco sloupec 'plat' obsahuje platy každého zaměstnance [1350, 1000, 900 , 1200, 980] v datovém rámci 'df'. Nyní vytvoříme náš příkaz if-else pomocí metody apply().

Výše uvedená podmínka zkontroluje každou hodnotu ve sloupci 'plat' a přidá 200 k platům zaměstnanců, kde je hodnota platu menší nebo rovna 1000. Hodnoty vrácené funkcí apply() jsme uložili do nového sloupce ' přírůstek'. Podívejme se na výsledky z výše uvedeného skriptu.

Jak vidíte, funkce úspěšně přidala 200 k hodnotám, které byly menší nebo rovné 100. Hodnoty, které byly větší než 1000, zůstaly nezměněny.

Závěr:

V tomto tutoriálu jsme viděli, že když je podmínka splněna, příkaz tohoto typu, nazývaný příkaz case, vrací hodnotu. Viděli jsme, jak můžete vytvořit příkaz case k provedení požadované operace nebo úkolu. V tomto tutoriálu jsme použili funkci np.where() a funkci apply() k vytvoření příkazů typu case. Implementovali jsme několik příkladů, abychom vás naučili používat příkazy typu pandas pomocí funkce where() a jak používat funkci apply() k vytváření příkazů typu case.