Nestačí vám běžné možnosti MS Excel, chcete zpracovávat rozsáhlá data efektivněji? Pak je správný čas porozhlédnout se po možnostech Python v MS Excel.
Od roku 2024 je v tabulkovém editoru MS Excel možné používat programovací jazyk Python. Python má smysl ve chvíli, kdy začínáte řešit složitější analýzy dat a Excelové vzorce nebo kontingenční tabulky přestávají být pohodlným řešením. Pokud Vám stávající řešení na bázi MS Excel/Power Query dostačuje, není potřeba se zabývat Pythonem jen proto, že je moderní…
Jak Python v MS Excel funguje?
Python běží v Azure cloudu. Tam proběhne výpočet a výsledek se vrací zpět do MS Excel. Z toho mohou vyplývat určitá omezení:
- Řešení postavená na bázi pythonu nefungují bez připojení k internetu (na rozdíl od vzorců či kontingenčních tabulek).
- Dostupnost cloudových služeb může být blokovaná korporátními bezpečnostními pravidly.
- Oproti běžným MS Excel výpočtům mohou být i jednoduché výpočty a analýzy poněkud zpožděné.
Jak otestovat Python v MS Excel?
Do libovolné buňky stačí napsat =PY a potvrdit tabelátorem (dvojklikem myší, dokončením dopsáním levé závorky). Případně je možné kliknout na tlačítko Vložit Python na kartě vzorce.
Po potvrzení se v zadávacím poli zobrazí zeleně text PY. Zároveň se zobrazí informace, že potvrzení vložení Python kódu řešíme pomocí Ctrl+Enter.
Do buňky je možné napsat libovolný testovací Python kód, například: len(„Excel“) – délka textu Excel.
Pokud je výsledkem číselná hodnota, je vše v pořádku a test je možné ukončit.
Jaké výstupy Python funkce poskytuje?
Funkce PY jako výstup poskytuje Objekt Python nebo Excel hodnotu. Obecně platí, že Excel hodnota je blíže tradičnímu uložení hodnoty v buňce a s výsledkem se pracuje běžným způsobem.
Oproti tomu Objekt Pythonu je uložený jako datový typ a umožňuje do dalších buněk vložit doplňkové informace.
Obecně platí, pro další navazující práci pomocí Pythonu použijte Objekt Python, pro běžné použití hodnot do navazujících Excel vzorců spíše Excel hodnotu.
Co znamenají příkazy na kartě Vzorce ve skupině Python?
Ve skupině Python jsou tyto 4 příkazy:
- Vložit Python – stejné jako zápis =PY do buňky + otevře okno Python v Excelu (průvodce jak začít) v pravé části obrazovky
- Resetovat – v případě běhové chyby resetuje/restartuje Python cloudovou službu
- Editor – otevře okno Python editoru
- Inicializace – otevře okno Inicializace
K čemu slouží Python Editor?
Python editor slouží ke komfortnější práci s kódem Pythonu. Editor zobrazí buňky ve kterých je Python kód. Zároveň zobrazí výsledek výpočtu, samotný kód a také ikony Zpět a Uložit. Práce s kódem je v tomto prostředí podstatně komfortnější než v samotném řádku vzorců.
K čemu slouží okno Inicializace?
Okno inicializace slouží pro nastavení komunikace mezi prostředím MS Excel a Pythonem.
V okně inicializace je zapsáno, které známé knihovny (Pandas, NumPy) je možné v MS Excel použít. Zároveň se importují moduly excel a warnings pro komunikaci mezi MS Excel a Pythonem.
pozn. Excel neumí načíst vaši vlastní knihovnu! Umí jen jiné vybrané knihovny např. OpenPyXl
Vysvětlení načítaných knihoven a jejich použití:
| Knihovna | Zkratka | Využití |
|---|---|---|
| NumPy | np | Matematické výpočty nad daty. |
| Pandas | pd | Práce s tabulkami a datovou analýzou. |
| Matplotlib.pyplot | plt | Tvorba grafů. |
| Seaborn | sns | Pokročilé statistické grafy. |
| Statsmodels | sm | Regrese a statistické modely. |
| Excel | – | Propojení Excelu a Pythonu. |
| Warnings | – | Správa a potlačení varování. |
Spodní část kódu říká toto: Jednotlivé buňky se načítají jako běžné Python proměnné odpovídajícího datového typu, zatímco tabulky a oblasti buněk se načítají jako objekty DataFrame knihovny Pandas.
Které knihovny jsou nejvhodnější pro práci s daty?
Nejdůležitější knihovnou je knihovna Pandas. Tou pokryjete manipulaci s tabulkami. Knihovnou Pandas můžeme nahradit tyto úkony:
- filtrování a řazení dat
- spojování a připojování tabulek – SVYHLEDAT, XLOOKUP
- agregaci dat – tvorba kontingenčních tabulek, SUMIFS, COUNTIFS
- přípravu a čištění dat – odstranění nadbytečných mezer
- odstraňování duplicit
- rozdělení, spojení sloupců
- změnu datových tpů
- nahrazení textů a doplnění prázdných buněk
- transformace dat
- import a export dat
Knihovna Pandas nepokrývá tyto úkony:
- tvorba (zajímavějšího) grafu – Matplotlib/Seaborn
- statistické modely – Statsmodel
- matematické modely – NumPy
Shrnutí: pro zpracování dat je klíčová znalost knihovny Pandas doplněná o možnost vizualizací pomocí Matplotlib. Pro začátek je možné ostatní knihovny ignorovat.
Jak začít s objektem dataframe a knihovnou Pandas?
Pro začátek je dobré si otestovat vytvoření dataframe z chytré tabulky MS Excel. V náhledu jde o vytvoření dataframe s názvem df_leden z chytré tabulky Leden. Samotné vytvoření je možné i „naklikat“. Stačí jen napsat =PY(df_leden= a označit myší objekt. Kod xl(…) se dopíše sám. Po vzniku dataframe je možné si vyzkoušet režim zobrazení výsledku MS Excel vs Objekt Python.
Základní číselná charakteristika sloupce
Dále je možné zkusit pracovat s jednotlivými sloupci tabulky – např. sečíst sloupec Příjem: df_leden[„Příjmy“].sum()
Filtr seznamu
Seznamy je možné filtrovat
pozn. povšimněte si přidaného indexu v prvním sloupci – ten nebyl součástí zdrojových dat.
Je vhodné zmínit, že operátory v Pandas jsou trochu jiné než v MS Excel:
Počítaný sloupec
Počítaný sloupec je po definování již trvalou součástí dataframe objektu. Pozor na zápis desetinné tečky ne desetinné čárky!
Agregace
Grafy
Pro tvorbu grafů se nepoužívá knihovna Pandas, ale Matplotlib nebo Seaborn. Pomocí těchto knihoven je možné vytvořit vizualizaci, která v MS Excel není dostupná.
Závěr
Použití Python v Excelu je možné. Python využijete až tehdy, když běžná řešení na bází MS Excel nedostačují. Řešit Pythonem stejné zadání, které by zvládly vestavěné MS Excel funkce je velmi těžkopádné. Python v MS Excel je dobré si nejdříve osahat – nainvestovat čas. Až poté se pustit do komplikovanějších řešení, kde se teprve ukáže síla Pythonu. S psaním python kodu velmi pomůže některý z AI nástrojů.