Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

1. diel - NumPy - Predstavenie knižnice

V tomto kurze programovacieho jazyka Python sa zameriame na knižnicu NumPy. Najprv si vysvetlíme, na čo sa knižnica používa a ako knižnicu NumPy nainštalovať. Ukážeme si, aké nové dátové typy knižnica NumPy prináša. Vyskúšame si možnosti, ktoré knižnica poskytuje pre efektívnu prácu so zoznamami v Pythone. Ďalej sa naučíme pracovať aj s matematickými funkciami, ktoré táto knižnica poskytuje.

Predpoklady pre zvládnutie kurzu

Aby sme dobre pochopili, ako knižnica NumPy funguje a aké nám poskytuje možnosti, je potrebné mať znalosti na úrovni kurzov:

Čo je NumPy?

Numpy je knižnica programovacieho jazyka Python, ktorá sa používa najmä na rýchlejšiu prácu so zoznamami. Ako názov NumPy napovedá, knižnica nachádza hojné využitie všade, kde sa pracuje s číslami a matematickými funkciami.

Zoznamy v Pythone vs NumPy arrays

Po absolvovaní základov v Pythone vieme, že Python ponúka zoznamy, ktoré je možné použiť aj bez importovania ďalších knižníc. V čom teda spočíva zásadná výhoda knižnice NumPy? V tom, že NumPy používa efektívnejšie algoritmy, čo umožňuje rýchlejší beh programu. Tento rozdiel sa neprejaví až tak ako pri malých zoznamoch rádovo v desiatkach položiek. Diametrálne iné je to ale pri väčších datasetoch rádovo v tisícoch položiek, na ktorých robíme komplikované výpočty. Rozdiel medzi NumPy algoritmami a natívnymi zoznamami Pythonu sú v desiatkach sekúnd až minút na jeden beh programu. Okrem toho je kód s využitím takzvaných ufunc čitateľnejší a stručnejší, ale o tom si viac povieme v ďalších lekciách.

Termín ufunc označuje triedu univerzálnych funkcií v knižnici NumPy, ktoré efektívne a rýchlo vykonávajú elementárne operácie na poliach pomocou vektorizácie.

Oproti štandardnej terminológii Pythonu, ktorá pole označuje ako "zoznam", má Numpy vlastný prístup. V kontexte knižnice NumPy sa obvykle používa namiesto "zoznamu" termín "pole" (v angličtine "array"). To je spôsobené tým, že NumPy pracuje s vlastnou dátovou štruktúrou zvanou ndarray, ktorá je síce podobná zoznamom v Pythone, ale má viac dimenzií a je navrhnutá pre efektívne výpočty a manipuláciu s dátami. NumPy poľa podporujú väčšie množstvo operácií a majú viac vlastností ako obyčajné Python zoznamy. Preto v kontexte NumPy hovoríme o "poliach" namiesto o "zoznamoch". Tieto dva termíny je potrebné v rámci kontextu výkladu dôsledne odlišovať.

Knižnice využívané s NumPy

V programovacom jazyku označuje knižnica súbor funkcií, ktoré už niekto prichystal pred nami a uložil ich do premenných v rámci konkrétnej knižnice. V praxi nám to ušetrí veľa času a riadkov v kóde, pretože nemusíme písať celú funkciu znova. Stačí nám zavolať si konkrétnu funkciu z konkrétnej knižnice. NumPy je samostatnou knižnicou, ale aby sme plne ocenili jej funkcie, je dobré pri práci s ňou využiť ešte niekoľko ďalších knižníc.

Matplotlib

Knižnicu Matplotlib využijeme vo chvíli, keď budeme chcieť vizualizovať naše dáta. Umožní nám vytvoriť celú škálu grafov, od korelačného diagramu scatterplotu, cez histogram a krabicový graf boxplot, až po zložitejšie systémy súradníc. Matplotlib taktiež dokáže tieto vizualizácie farebne upravovať, zoomovať, prípadne vie aj upraviť ich škálu.

Pandas

Pri použití NumPy v štatistike sa čoskoro dostaneme do fázy, kedy už nám jednoduché polia nebudú stačiť. V tej chvíli oceníme knižnicu Pandas, ktorá poskytuje nástroje na prácu s dátami a tabuľkami (pre zjednodušenie – Pandas je taký Excel v Pythone).

Detaily a podrobnosti práce s knižnicou Pandas nájdeme v kurze Pandas - Vizualizácia dát v Pythone.

Ostatné

Okrem vyššie spomínaných existuje celý rad ďalších knižníc, ktoré majú podobné funkcie, čím rozširujú možnosti našej práce s knižnicou NumPy iným smerom. Napríklad knižnica SciPy poskytuje mnoho ďalších matematických funkcií vrátane geometrie v priestore či pravdepodobnostných funkcií.

Inštalácia NumPy

Inštalácia knižnice NumPy je veľmi jednoduchá. Zvolíme si jednu z dvoch nižšie popísaných metód – buď pomocou nástroja PIP, alebo pomocou programu Anaconda.

Inštalácia pomocou PIP

Do príkazového riadka jednoducho napíšeme príkaz nižšie:

pip install numpy

Po chvíľke sa nainštaluje najnovšia verzia knižnice NumPy.

Nainštalujme si aj knižnicu Matplotlib:

pip install matplotlib

Inštalácia pomocou Anacondy

Pre začiatočníkov je tento variant inštalácie jednoduchší, pretože cez Anacondu môžeme do nášho Pythonu stiahnuť aj ďalšie užitočné knižnice a programy. Na stránke Anaconda.com si stiahneme verziu pre náš operačný systém. Dostupné sú pre Windows, MacOS aj Linux. Následne program spustíme a zahájime inštaláciu. Vyberieme zložku, kam Anacondu stiahneme a necháme všetky zaškrtávacie políčka v defaultnom stave. Políčko Add anaconda to my PATH environment variable necháme nezaškrtnuté. Po dokončení inštalácie máme NumPy v našom Pythone pripravené na prácu.

Jupyter Notebook

Jedným z najobľúbenejších prostredí na vytváranie projektov s NumPy je Jupyter Notebook. Ide o aplikáciu využívajúcu prostredie prehliadača, do ktorej píšeme svoj kód v Pythone. Prostredie, ako už názov napovedá, skutočne pripomína poznámkový blok a je užívateľsky veľmi prívetivé.

Prostredie Jupyter Notebook je len jednou z mnohých možností. Je úplne na nás, či zvolíme iné IDE, ako napríklad PyCharm, VS Code alebo pokročilejšiu a komplexnejšiu verziu Jupyter Notebooku – JupyterLab. Samotné fungovanie knižníc, ako je NumPy, zostáva vo všetkých prostrediach rovnaké, ale spôsob zobrazenia výstupov sa môže líšiť v závislosti od formátovania alebo nastavenia konkrétneho IDE.

Jupyter Notebook nainštalujeme aj pomocou PIP:

pip install notebook

Vytvorenie projektu

Jupyter Notebook si spustíme buď cez príkazový riadok, alebo Anacondu. Na otvorenie príkazového riadka stačí v počítači vyhľadať cmd a kliknúť naň. Akonáhle sa nám príkazový riadok otvorí, zadáme doňho:

python -m notebook

Po pár sekundách sa nám Jupyter Notebook otvorí ako nová záložka v prehliadači.

Ak sme si stiahli Anacondu, je možné Jupyter Notebook otvoriť aj pomocou aplikácie Anaconda Navigator. Po spustení Anacondy si v hlavnom menu aplikácie nájdeme dlaždicu Jupyter Notebook a klikneme na Launch. Opäť sa nám objaví nová záložka v našom prehliadači:

Menu v prostredí Jupyter Notebook - NumPy - Matematika v Pythone

Teraz si vytvoríme nový projekt. V pravom hornom rohu klikneme na New, čím sa nám rozbalí lišta. Hneď ako prvá máme možnosť Python 3. Tú vyberieme a otvorí sa nám nový projekt:

Nový neoznačený Jupyter Notebook - NumPy - Matematika v Pythone

Import NumPy

V samotnom Pythone potom na začiatku nášho kódu (bez ohľadu na použité IDE) importujeme NumPy pomocou príkazu import. Tradične sa NumPy importuje pod skratkou np, pre prácu to však nie je podmienkou. Okrem NumPy si importujeme ešte modul pyplot z knižnice Matplotlib, pomocou ktorého si dokážeme vizualizovať obsah v našich poliach. Pre pyplot sa bežne používa skratka plt:

import numpy as np
import matplotlib.pyplot as plt

Stlačením klávesov Shift + Enter potvrdíme import knižníc. V tejto chvíli náš Jupyter Notebook vyzerá takto a my sme pripravení začať s ním pracovať:

Obrázok prvého vytvoreného Jupyter Notebooku - NumPy - Matematika v Pythone

Knižnicu aj pracovné prostredie teda máme pripravené a môžeme sa pustiť do práce. To je v rámci tejto lekcie všetko.

V nasledujúcej lekcii, NumPy - Dátové typy, sa na príkladoch naučíme základné dátové typy knižnice NumPy.


 

Všetky články v sekcii
NumPy - Matematika v Pythone
Preskočiť článok
(neodporúčame)
NumPy - Dátové typy
Článok pre vás napísal Miloš Halda
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje především bioinformatice a s ní souvisejícím tématům. Nevyhýbá se OOP jazykům, statistice a nástrojům pro analýzu dat.
Aktivity