Programovanie

Čo je notebook Jupyter? Uľahčená analýza údajov

V určitom okamihu musíme všetci ukázať svoju prácu. Väčšina programovacích prác sa zdieľa buď ako nespracovaný zdrojový kód, alebo ako skompilovaný spustiteľný súbor. Zdrojový kód poskytuje úplné informácie, ale spôsobom, ktorý je viac „výpovedný“ ako „ukážkový“. Spustiteľný súbor nám ukazuje, čo softvér robí, ale aj keď je dodávaný so zdrojovým kódom, môže byť ťažké presne pochopiť, ako funguje.

Predstavte si, že ste schopní zobraziť kód a spustiť ho v rovnakom používateľskom rozhraní, aby ste mohli vykonať zmeny v kóde a zobraziť výsledky týchto zmien okamžite, v reálnom čase? To je to, čo ponúka notebook Jupyter.

Notebook Jupyter bol vyvinutý s cieľom uľahčiť ukážku programovania a umožniť ostatným zapojiť sa. Notebook Jupyter vám umožňuje kombinovať kód, komentáre, multimédiá a vizualizácie v interaktívnom dokumente - ktorý sa prirodzene nazýva notebook - a ktorý je možné zdieľať , znovu použité a prepracované.

A pretože Jupyter Notebook beží cez webový prehľadávač, samotný notebook mohol byť hostený na vašom lokálnom počítači alebo na vzdialenom serveri.

Výhody notebooku Jupyter

Produkt Jupyter Notebook, ktorý bol pôvodne vyvinutý pre aplikácie dátových vied napísaný v jazykoch Python, R a Julia, je užitočný vo všetkých ohľadoch pre všetky druhy projektov:

  • Vizualizácie údajov. Väčšina ľudí má svoju prvú expozíciu v Jupyter Notebook prostredníctvom vizualizácie údajov, zdieľaného poznámkového bloku, ktorý obsahuje vykreslenie niektorých dátových súborov ako grafiku. Notebook Jupyter vám umožňuje vytvárať vizualizácie, ale aj ich zdieľať a umožňovať interaktívne zmeny zdieľaného kódu a množiny údajov.
  • Zdieľanie kódu. Cloudové služby ako GitHub a Pastebin poskytujú spôsoby zdieľania kódu, ale sú väčšinou neinteraktívne. S notebookom Jupyter môžete zobraziť kód, spustiť ho a zobraziť výsledky priamo vo vašom webovom prehliadači.
  • Živé interakcie s kódom. Kód Jupyter Notebook nie je statický; je možné ho upravovať a opakovane spúšťať v reálnom čase so spätnou väzbou poskytovanou priamo v prehliadači. Notebooky môžu tiež obsahovať používateľské ovládacie prvky (napr. Posúvače alebo polia na zadávanie textu), ktoré možno použiť ako vstupné zdroje pre kód.
  • Dokumentácia vzorových kódov. Ak máte kúsok kódu a chcete vysvetliť riadok po riadku, ako to funguje, so živou spätnou väzbou po celú dobu, môžete ho vložiť do poznámkového bloku Jupyter. Najlepšie na tom všetkom je, že kód zostane plne funkčný - môžete pridať interaktivitu spolu s vysvetlením, ukazovaním a rozprávaním súčasne.

Súčasti notebooku Jupyter

Notebooky Jupyter môžu obsahovať niekoľko druhov prísad, každý usporiadaný do samostatných blokov:

  • Text a HTML. Obyčajný text alebo text anotovaný v syntaxe Markdown na generovanie HTML je možné vložiť do dokumentu kedykoľvek. Styling CSS môže byť tiež vložený alebo pridaný do šablóny použitej na generovanie poznámkového bloku.
  • Kód a výstup. Kód v notebookoch Jupyter Notebook je zvyčajne kód v jazyku Python, aj keď vo svojom prostredí Jupyter môžete pridať podporu pre ďalšie jazyky, napríklad R alebo Julia. Výsledky spusteného kódu sa zobrazia okamžite po blokoch kódu a bloky kódu je možné vykonávať a opätovne vykonávať v ľubovoľnom poradí, ako sa vám páči.
  • Vizualizácie.Grafiku a grafy je možné generovať z kódu pomocou modulov ako Matplotlib, Plotly alebo Bokeh. Rovnako ako výstup, aj tieto vizualizácie sa zobrazujú vložené vedľa kódu, ktorý ich generuje. Je však možné nakonfigurovať aj kód, ktorý ich v prípade potreby zapíše do externých súborov.
  • Multimédiá.Pretože notebook Jupyter je postavený na webovej technológii, môže zobrazovať všetky typy multimédií podporovaných na webovej stránke. Môžete ich zahrnúť do zošita ako prvky HTML, alebo ich môžete vygenerovať programovo pomocou príkazu IPython.display modul.
  • Údaje. Údaje môžu byť poskytnuté v samostatnom súbore vedľa .ipynb súbor, ktorý predstavuje notebook Jupyter Notebook, alebo ho možno importovať programovo - napríklad zahrnutím kódu do notebooku na stiahnutie údajov z verejného internetového úložiska alebo na prístup k nim prostredníctvom databázového pripojenia.

Prípady použitia notebooku Jupyter

Najbežnejším prípadom použitia aplikácie Jupyter Notebook sú vedecké práce s údajmi, matematika a ďalšie výskumné projekty, ktoré zahŕňajú vizualizácie údajov alebo vzorcov. Okrem nich však existuje veľa ďalších prípadov použitia:

  • Zdieľanie vizualizácie s interaktivitou alebo bez nej. Ľudia často zdieľajú výsledky vizualizácie údajov ako statický obrázok, ale to je užitočné iba do istej miery. Zdieľaním notebooku Jupyter umožníte svojmu cieľovému publiku ponoriť sa a pohrať sa. Môžu interaktívne získať dôkladné pochopenie údajov.
  • Dokumentácia procesu pomocou kódu. Mnoho programátorov, ktorí blogujú o svojich programátorských skúsenostiach, píše svoje príspevky do poznámkového bloku Jupyter. Ostatní si môžu stiahnuť svoj zošit a znovu vytvoriť cvičenie.
  • Živá dokumentácia pre knižnicu alebo modul. Väčšina dokumentácie pre moduly Pythonu je statická; notebook Jupyter možno použiť ako interaktívne karanténu pre učenie sa fungovania modulu. Ľubovoľný modul Pythonu, ktorý funguje dobre v rozhraní poznámkového bloku (v podstate všetko, na čo sa píše) stdout ako súčasť svojho správania) je na to dobrým kandidátom.
  • Zdieľanie kódu a údajov všeobecne. Všetko, čo musíte urobiť, aby ste zdieľali notebook Jupyter a jeho príslušné dátové súbory, je zbaliť ho do archívu.

JupyterLab

Používateľské rozhranie novej generácie pre notebook Jupyter s názvom JupyterLab je teraz k dispozícii a považuje sa za pripravené na produkčné použitie.

Ako je vysvetlené v blogovom príspevku oznamujúcom všeobecnú dostupnosť, JupyterLab je tvárnejší ako bežný notebook Jupyter, ktorý umožňuje používateľom presúvať bunky v rámci a medzi notebookmi a usporiadať pracovný priestor do samostatných kariet a podsekcií. Kód môže byť spustený priamo z textových súborov aj zo súborov Jupyter Notebook a mnoho bežných formátov súborov pre kód aj dáta je možné vykresliť pomocou živých ukážok.

JupyterLab je možné tiež prispôsobiť rozšíreniami, ktoré pridávajú podporu pre nové formáty súborov, obohacujú rozhranie alebo poskytujú množstvo ďalších doplnkových funkcií, čo umožňuje oveľa širšiu škálu aplikácií notebookov ako Jupyter Notebook. Dlhodobým plánom je nahradiť súčasné rozhranie notebooku Jupyter notebookom JupyterLab, ale až potom, čo sa program JupyterLab preukáže ako dostatočne stabilný a spoľahlivý.

Obmedzenia notebooku Jupyter

Ako výkonný a užitočný môže byť notebook Jupyter, má určité obmedzenia, ktoré je potrebné zohľadniť.

  • Notebooky nie sú samostatné. Toto je jediná najväčšia nevýhoda používania Jupyter Notebook: Notebooky vyžadujú runtime Jupyter spolu so všetkými knižnicami, ktoré plánujete používať. Existuje niekoľko stratégií na vytvorenie samostatných notebookov Jupyter, ale žiadna z nich nie je oficiálne podporovaná. Najlepšie budete distribuovať notebooky ľuďom, ktorí už majú vybudovanú infraštruktúru na ich prevádzkovanie, alebo im nastavenie nevadí (napríklad prostredníctvom Anacondy).
  • Stav relácie nie je možné ľahko uložiť. Stav ľubovoľného kódu spusteného v notebooku Jupyter nie je možné zachovať a obnoviť pomocou predvolenej sady nástrojov Jupyter Notebook. Zakaždým, keď notebook načítate, budete musieť v ňom znova spustiť kód, aby sa obnovil jeho stav.
  • Žiadne interaktívne ladenie ani iné funkcie IDE. Notebook Jupyter nie je plnohodnotné vývojové prostredie pre Python. Mnoho funkcií, ktoré by ste od IDE očakávali, napríklad interaktívne ladenie, dokončenie kódu a správa modulov, tam nie sú k dispozícii.
$config[zx-auto] not found$config[zx-overlay] not found