Kontingenčné tabuľky naďalej patria medzi najuznávanejšie a najpoužívanejšie nástroje v rámci MS Excel. Či už ste dátový analytik, dátový inžinier alebo jednoducho bežný používateľ, je pravdepodobné, že už máte slabé miesto pre MS Excel.
Napriek tomu existuje čoraz väčší priestor na replikáciu nástrojov a pomôcok MS Excel, najmä v Pythone. Vedeli ste, že môžete vytvárať rozsiahle kontingenčné tabuľky v dátových rámcoch Pythonu pomocou niekoľkých riadkov samotného kódu?
Áno, to je správne; ak vás to zaujalo, tu je návod, ako to môžete urobiť.
Predbežné požiadavky na vytváranie kontingenčných tabuliek
Ako každý iný programovací jazyk, aj Python potrebuje, aby ste splnili niekoľko predpokladov, kým sa dostanete ku kódovaniu.
Ak chcete získať čo najlepšie optimalizované prostredie pri vytváraní svojej úplne prvej kontingenčnej tabuľky v Pythone, budete potrebovať toto:
- Python IDE: Väčšina kódov Pythonu má vo svojom systéme predinštalované integrované vývojové prostredie (IDE). Je ich viacero IDE kompatibilné s Python na trhu, vrátane Jupyter Notebook, Spyder, PyCharm a mnohých ďalších.
- Vzorové údaje: Pre ilustráciu tu je vzorový súbor údajov, na ktorom môžete pracovať. Prípadne môžete tieto kódy vyladiť priamo vo svojich živých údajoch.
Odkaz na vzor údajov:Vzorový supermarket
Import základných knižníc
Keďže Python funguje na koncepte knižníc tretích strán, musíte importovať súbor pandy knižnica na vytváranie pivotov.
Môžete použiť Pandy importovať súbor Excel do Pythonu a uložiť údaje do DataFrame. Ak chcete importovať pandy, použite importovať príkaz nasledujúcim spôsobom:
importovať pandy ako pd
Ako vytvoriť kontingenčné body v Pythone
Keďže knižnica je teraz k dispozícii, musíte importovať súbor Excel do Pythonu, ktorý je základom pre vytváranie a testovanie pivotov v Pythone. Uložte importované údaje do DataFrame s nasledujúcim kódom:
# Vytvorte nový DataFrame
# tu nahraďte svojou vlastnou cestou
cesta = "C://Users//user/OneDrive//Desktop//"
# tu môžete definovať názov súboru
súbor = "Ukážka - Superstore.xls"
df = pd.read_excel (cesta + súbor)
df.hlava()
Kde:
- df: Názov premennej na uloženie údajov DataFrame
- pd: Alias knižnice Pandas
- read_excel(): Funkcia Pandas na čítanie súboru Excel do Pythonu
- cesta: Miesto, kde je uložený súbor Excel (Sample Superstore)
- súbor: Názov súboru na import
- hlava(): Štandardne zobrazuje prvých päť riadkov DataFrame
Vyššie uvedený kód importuje súbor Excel do Pythonu a uloží údaje do DataFrame. Nakoniec, hlavu zobrazí prvých päť riadkov údajov.
Táto funkcia je užitočná na zabezpečenie správneho importu údajov do Pythonu.
Ktoré polia kontingenčnej tabuľky existujú v Pythone?
Rovnako ako jej excelovský náprotivok, kontingenčná tabuľka má podobnú množinu polí v Pythone. Tu je niekoľko polí, o ktorých potrebujete vedieť:
- údaje: Dátové pole sa týka údajov uložených v rámci Python DataFrame
- Hodnoty: Stĺpcové údaje používané v rámci pivota
- Index: Indexový stĺpec (stĺpce) na zoskupenie údajov
- Stĺpce: Stĺpce pomáhajú pri agregácii existujúcich údajov v rámci DataFrame
Účel použitia funkcie Index
Keďže funkcia indexu je primárnym prvkom kontingenčnej tabuľky, vracia základné rozloženie údajov. Inými slovami, svoje údaje môžete zoskupiť pomocou index funkciu.
Predpokladajme, že chcete vidieť nejaké súhrnné hodnoty pre produkty uvedené v Segment stĺpec. Preddefinovaný agregát (priemernú hodnotu) v Pythone môžete vypočítať tak, že zadefinujete určené stĺpce ako hodnotu indexu.
df.pivot_table (index = "Segment")
Kde:
- df:DataFrame obsahujúci údaje
- kontingenčná_tabuľka:Funkcia kontingenčnej tabuľky v Pythone
- index: Vstavaná funkcia na definovanie stĺpca ako indexu
- Segment: Stĺpec, ktorý sa má použiť ako hodnota indexu
V názvoch premenných Pythonu sa rozlišujú malé a veľké písmená, preto sa vyhýbajte prechodu od preddefinovaných názvov premenných uvedených v tejto príručke.
Ako používať hodnoty viacerých indexov
Ak chcete použiť viacero indexových stĺpcov, môžete definovať názvy stĺpcov v a zoznam v rámci funkcie indexu. Jediné, čo musíte urobiť, je zadať názvy stĺpcov v rámci skupiny hranaté zátvorky ([ ]), ako je uvedené nižšie:
df.pivot_table (index = ["Kategória", "Podkategória"])
Funkcia pivot odsadí indexový stĺpec vo výstupe. Python zobrazuje priemerný všetkých číselných hodnôt voči každej hodnote indexu.
Naučte sa obmedziť hodnoty vo výstupe
Keďže Python predvolene vyberá všetky číselné stĺpce, môžete obmedziť hodnoty, aby ste vylepšili výsledky zobrazené v konečnom výstupe. Použi hodnoty funkciu na definovanie stĺpcov, ktoré chcete vidieť.
df.pivot_table (index = ["región", "Kategória", "Podkategória"], hodnoty = "Predaj")
V konečnom výstupe budú tri indexové stĺpce a priemerné hodnoty pre stĺpec Predaj budú postavené proti každému prvku.
Definovanie súhrnných funkcií v kontingenčnej tabuľke
Čo sa stane, keď štandardne nechcete vypočítať priemerné hodnoty? Kontingenčná tabuľka má množstvo ďalších funkcií, ktoré presahujú rámec výpočtu jednoduchého priemeru.
Tu je návod, ako napísať kód:
df.pivot_table (index = ["Kategória"], hodnoty = "Predaj", aggfunc = [súčet, maximum, min, dĺžka])
Kde:
- suma: Vypočíta súčet hodnôt
- max: Vypočíta maximálnu hodnotu
- min: Vypočíta maximálnu hodnotu
- len: Vypočíta počet hodnôt
Každú z týchto funkcií môžete definovať aj v samostatných riadkoch kódu.
Ako pridať celkové súčty do kontingenčnej tabuľky
Žiadne dátové aktívum nie je úplné bez celkových súčtov. Ak chcete vypočítať a zobraziť celkové súčty na stĺpec údajov, použite marže a margins_name funkciu.
df.pivot_table (index = ["Kategória"], hodnoty = "Predaj", aggfunc = [súčet, maximum, min, dĺžka], okraje=True, názov_rozpätia='Celkové súčty')
Kde:
- okraje: Funkcia na výpočet celkového súčtu
- margins_name: Zadajte názov kategórie v stĺpci indexu (napríklad Celkové súčty)
Upravte a použite konečný kód
Tu je konečný stručný kód:
importovať pandy ako pd
# tu nahraďte svojou vlastnou cestou
cesta = "C://Users//user/OneDrive//Desktop//"
# tu môžete definovať názov súboru
súbor = "Ukážka - Superstore.xls"
df = pd.read_excel (cesta + súbor)
df.pivot_table (index = ["región", "Kategória", "Podkategória"], hodnoty = "Predaj",
aggfunc = [súčet, maximum, min, dĺžka],
okraje =Pravda,
margins_name='Celkové súčty')
Vytváranie kontingenčných tabuliek v Pythone
Keď používate kontingenčné tabuľky, možnosti sú jednoducho nekonečné. Python vám umožňuje jednoducho spracovávať rozsiahle dátové polia bez obáv z nezrovnalostí v údajoch a oneskorení systému.
Keďže funkcie Pythonu sa neobmedzujú len na zhusťovanie údajov do pivotov, môžete kombinovať viacero excelových zošitov a hárkov a zároveň vykonávať s Pythonom sériu súvisiacich funkcií.
S Pythonom je na obzore vždy niečo nové.