Adobe Systems F1420 – Balíčky 1 Užitočné balíčky Kryštof Mrózek (445429@mail.muni.cz) Kristína Tomanková (kristinatomankova@mail.muni.cz) Radoslav Brunovský (rbrunovsky@mail.muni.cz) Adobe Systems 2 Python balíček ̶Python balíček je štruktúra, ktorá organizuje / zoskupuje súbory s python kódom (moduly) do jednej zložky. ̶Balíček si môžeme predstaviť ako zložku, ktorá obsahuje skripty + súbor “__init__.py“ = tento súbor definuje zložku ako python balíček. ̶Balíčky obsahujú mnoho užitočných funkcií, ktoré už boli naprogramované. F1420 – Balíčky Python Packages with Examples - Python Geeks Adobe Systems 3 Inštalovanie balíčka ̶Aby sme mohli využívať balíčky, tak je potrebné ich najprv nainštalovať. ̶Inštalujeme cez terminál (vstavaný alebo vo VSCode): 1.Vo VSCode otvorte terminal (buď ho už máte otvorený alebo View > Terminal alebo Ctrl/Cmd + J). 2.Do terminálu píšeme štruktúru: •Windows: pip install •MacOS: python -m pip install F1420 – Balíčky Adobe Systems 4 Pozn. Virtuálne prostredie ̶Zodpovedný programátor by si mal v prípade pracovania v pythone vytvoriť tzv. virtuálne prostredie. ̶Ide o izolované prostredie, ktoré obsahuje inštaláciu pythonu (v akejkoľvek verzii) a ďalšie balíčky. Q: Prečo použiť virtuálne prostredie? A: Kontrola závislostí (rôzne projekty môžu vyžadovať rôzne verzie pythonu), takmer bez rizika (ak si náhodou poškodím samotný python, tak nejde o jeho systémovú verziu), kompatibilita s ďalšími užívateľmi (všetci programátori pracujú v rovnakom prostredí s rovnakými balíčkami). F1420 – Balíčky V prípade záujmu odporúčam využiť pyenv: https://github.com/pyenv/pyenv https://github.com/pyenv/pyenv-virtualenv V našom predmete si ukážeme použitie len najzákladnejších balíčkov, ktoré môžeme nainštalovať do systémového pythonu bez rizika. Adobe Systems 5 Základné balíčky ̶Nainštalujte si nasledujúce balíčky: ̶numpy ̶scipy ̶pandas ̶matplotlib ̶ ̶ ̶v F1420 – Balíčky Windows: pip install MacOS: python -m pip install Terminal: Adobe Systems 6 Použitie balíčka ̶Aby sme mohli využiť funkcie z nainštalovaného balíčka, musíme ho nahrať (importovať) do nášho kódu. ̶ ̶Nahratie celého balíčka ̶Nahratie celého balíčka so skratkou ̶Nahratie špecifickej funkcie z balíčka ̶ F1420 – Balíčky Adobe Systems 7 Použitie balíčka ̶Funkcie následne voláme odkazujúc sa na balíček, v ktorom sa nachádzajú: F1420 – Balíčky Adobe Systems 8 NumPy = NumericalPython (alias np) ̶Jeden z najužitočnejších balíčkov v pythone, používa sa na numerické výpočty. ̶Umožňuje ukladanie dát do viacrozmerných polí, matíc a poskytuje množstvo komplexných matematických funkcií a operácií. ̶Python list vs numpy pole: ̶Numpy pole sú homogénne (dáta jedného typu) – jednoduchšia manipulácia ̶Numpy pole sú lepšie optimalizované – zaberajú menej pamäte a operácie s nimi sú rádovo rýchlejšie ̶Polia najčastejšie reprezentujú vektory (1D) alebo matice/tenzory (2+D) ̶Nejčastejšie využívané funkcie: ̶np.array(), np.zeros(), np.ones(), np.empty(), np.arange(), np.linspace(), np.logspace(), np.random(), np.sum(), np.mean(), np.std(), np.dot() / @, np.min(), np.max(), np.sin() ... ̶dtype – volitelný parametr specifikující typ dat (int, float…) ̶ ̶ ̶ F1420 – Balíčky Adobe Systems 9 SciPy = ScientificPython ̶Nadstavba numpy so zabudovanými funkciami pre dátovú analýzu ̶Najčastejšie knižnice: ̶scipy.constans – obsahuje fyzikálne a matematické konštanty ̶scipy.optimize – obsahuje metódy riešenia rovníc (minimalizácia, korene) ̶scipy.integrate – obsahuje metódy riešenia integrálov a diferenciálnych rovníc ̶Najčastejšie používané funkcie: ̶scipy.optimize.curve_fit() – fitovanie dát (ukážka v príklade) ̶scipy.optimize.root() – nájde koreň lineárnej rovnice Napríklad rovnica y = x + sin(x) : scipy.optimize.root(y, odhad koreňa) ̶scipy.integrate.odeint() – riešenie obyčajných diferenciálnych rovníc ̶ ̶ F1420 – Balíčky Adobe Systems 10 Matplotlib.pyplot (alias plt) ̶Balíček na vykreslovanie grafov (prípadne obrázkov) – plt.plot(dataX, dataY) ̶ F1420 – Balíčky A colorful lines on a white background Description automatically generated plt.xlabel(str, fontsize) plt.ylabel(str, fontsize) plt.legend(fontsize, location) plt.plot(…, label = str) plt.plot(…, color = str) Adobe Systems 11 Pandas (alias pd) ̶Balíček na načítanie a analýzu dát – vhodný pre spracovávanie vašich meraní ̶Dve základné dátové štruktúry: ̶pd.Series = stĺpec ̶pd.DataFrame = tabuľka ̶Načítanie dát: možnosť z .csv, .txt, .xlsx, JSON (formát totožný s python slovníkom), atď. ̶Rovnako môžeme dáta exportovať do niektorého z formátov ̶Nutnosť hlavičky napr. dĺžka, šírka, výška ̶Prístup k dátam: df = pd.read_csv(“dimenzie.csv“) ̶Šírka: df[‘šířka‘] (podobne ako pri práci so slovníkmi) ̶ ̶ F1420 – Balíčky Adobe Systems 12 Spoločné cvičenie F1420 – Balíčky Pendulum | Definition, Formula, & Types | Britannica