Programiranje

Kaj je Jupyter Notebook? Analiza podatkov je bila lažja

Na neki točki moramo vsi pokazati svoje delo. Večina dela pri programiranju je skupna bodisi kot surova izvorna koda bodisi kot sestavljena izvedljiva datoteka. Izvorna koda ponuja popolne informacije, vendar na način, ki je bolj "povej" kot "pokaži". Izvedljiva datoteka nam pokaže, kaj počne programska oprema, toda tudi če je dobavljena z izvorno kodo, je težko natančno razumeti, kako deluje.

Predstavljajte si, da si lahko ogledate kodo in jo izvedete v istem uporabniškem vmesniku, tako da lahko spremenite kodo in si ogledate rezultate teh sprememb takoj, v realnem času? Prav to ponuja Jupyter Notebook.

Jupyter Notebook je bil ustvarjen za lažje prikazovanje lastnega programskega dela in omogočanje vključevanja drugih. Jupyter Notebook vam omogoča kombiniranje kode, komentarjev, večpredstavnosti in vizualizacij v interaktivnem dokumentu, imenovanem notebook, ki ga lahko delite z drugimi. , ponovno uporabljena in ponovno obdelana.

In ker Jupyter Notebook deluje prek spletnega brskalnika, bi lahko bil tudi sam prenosnik nameščen na vašem lokalnem računalniku ali na oddaljenem strežniku.

Prednosti Jupyter Notebook

Jupyter Notebook je bil prvotno razvit za aplikacije s področja podatkov, napisane v Pythonu, R in Juliji, ter je na vse načine uporaben za vse vrste projektov:

  • Vizualizacije podatkov. Večina ljudi je prvič izpostavljena prenosnemu računalniku Jupyter z vizualizacijo podatkov, skupnim zvezkom, ki vključuje upodabljanje nekaterih podatkovnih nizov kot grafiko. Jupyter Notebook vam omogoča avtorske vizualizacije, lahko pa jih tudi delite in omogočite interaktivne spremembe skupne kode in nabora podatkov.
  • Skupna raba kode. Storitve v oblaku, kot sta GitHub in Pastebin, ponujajo načine za skupno rabo kode, vendar v veliki meri niso interaktivne. Z zvezkom Jupyter si lahko ogledate kodo, jo izvedete in rezultate prikažete neposredno v spletnem brskalniku.
  • Interakcije s kodo v živo. Koda zvezka Jupyter ni statična; lahko ga v realnem času postopoma urejate in znova zaženete, povratne informacije pa so na voljo neposredno v brskalniku. Prenosniki lahko vdelajo tudi uporabniške kontrolnike (npr. Drsnike ali polja za vnos besedila), ki jih je mogoče uporabiti kot vhodne vire za kodo.
  • Dokumentiranje vzorcev kode. Če imate del kode in želite po vrsticah razložiti, kako deluje, jo lahko z vmesnimi povratnimi informacijami v živo ves čas vdelate v Jupyterjev zvezek. Najboljše od vsega je, da bo koda ostala popolnoma funkcionalna - lahko dodate interaktivnost skupaj z razlago, prikazom in pripovedovanjem hkrati.

Komponente prenosnega računalnika Jupyter

Jupyterjevi zvezki lahko vsebujejo več vrst sestavin, ki so organizirane v ločene bloke:

  • Besedilo in HTML. Navadno besedilo ali besedilo, označeno v sintaksi Markdown za ustvarjanje HTML-ja, lahko kadar koli vstavite v dokument. Slog CSS lahko vključite tudi v vrstici ali ga dodate v predlogo, ki se uporablja za ustvarjanje zvezka.
  • Koda in izhod. Koda v prenosnikih Jupyter Notebook je običajno koda Python, čeprav lahko v svojem okolju Jupyter dodate podporo za druge jezike, kot sta R ali Julia. Rezultati izvedene kode se prikažejo takoj za kodnimi bloki, kodne bloke pa je mogoče izvajati in znova izvajati v poljubnem vrstnem redu, tako pogosto, kot želite.
  • Vizualizacije.Grafiko in grafikone je mogoče ustvariti iz kode z uporabo modulov, kot so Matplotlib, Plotly ali Bokeh. Tako kot izhodni podatki se te vizualizacije prikažejo v vrstici poleg kode, ki jih generira. Vendar pa lahko kodo nastavite tudi tako, da jo po potrebi zapiše v zunanje datoteke.
  • Multimedija.Ker je Jupyter Notebook zgrajen na spletni tehnologiji, lahko prikazuje vse vrste večpredstavnosti, ki jih podpira spletna stran. Lahko jih vključite v zvezek kot elemente HTML ali pa jih programsko ustvarite s pomočjo IPython.display modul.
  • Podatki. Podatki se lahko navedejo v ločeni datoteki poleg .ipynb datoteko, ki predstavlja zvezek Jupyter Notebook, ali pa jo je mogoče programsko uvoziti - na primer tako, da v zvezek vključite kodo za prenos podatkov iz javnega internetnega repozitorija ali za dostop do nje prek povezave z bazo podatkov.

Primeri uporabe prenosnega računalnika Jupyter

Najpogostejši primeri uporabe Jupyterjevega zvezka so podatki, matematika in drugi raziskovalni projekti, ki vključujejo vizualizacije podatkov ali formul. Poleg teh pa obstaja še veliko drugih primerov uporabe:

  • Skupna raba vizualizacije z interaktivnostjo ali brez nje. Ljudje rezultate vizualizacije podatkov pogosto delijo kot statično sliko, vendar je to koristno le do določene točke. Z deljenjem zvezka Jupyter omogočite ciljni publiki, da se potopi in poigra. Podatke lahko interaktivno razumejo.
  • Dokumentiranje procesa s kodo. Mnogi programerji, ki pišejo o svojih programskih izkušnjah, zapisujejo svoje zapise v Jupyterjev zvezek. Drugi lahko prenesejo svoj zvezek in poustvarijo vajo.
  • Dokumentacija v živo za knjižnico ali modul. Večina dokumentacije za module Python je statična; zvezek Jupyter lahko uporabimo kot interaktivni peskovnik za učenje delovanja modula. Vsak modul Python, ki dobro deluje v vmesniku prenosnika (v bistvu vse, na kar piše stdout kot del svojega vedenja) je dober kandidat za to.
  • Skupna raba kode in podatkov. Vse, kar morate storiti za skupno rabo zvezka Jupyter in z njim povezanih podatkovnih datotek, je, da ga spakirate v arhiv.

JupyterLab

Uporabniški vmesnik naslednje generacije za Jupyter Notebook, imenovan JupyterLab, je zdaj na voljo in velja za pripravljenega za proizvodno uporabo.

Kot je razloženo v objavi v spletnem dnevniku, ki napoveduje splošno razpoložljivost, je JupyterLab bolj voljen od običajnega prenosnika Jupyter, ki uporabnikom omogoča povleci in spusti celice znotraj in med zvezke ter razporeditev delovnega prostora v ločene zavihke in pododdelke. Koda se lahko izvaja neposredno iz besedilnih datotek, pa tudi iz datotek Jupyter Notebook, številne običajne oblike datotek za kodo in podatke pa je mogoče prikazati s predogledi v živo.

JupyterLab lahko prilagodite tudi s priponami, da dodate podporo za nove formate datotek, obogatite vmesnik ali zagotovite poljubno število drugih dodatnih funkcij, ki omogočajo veliko širši nabor prenosnih aplikacij kot Jupyter Notebook. Dolgoročni načrt je zamenjati sedanji vmesnik Jupyter Notebook z JupyterLab, vendar šele potem, ko se bo JupyterLab izkazal za dovolj stabilnega in zanesljivega.

Omejitve zvezka Jupyter

Tako močan in uporaben, kot je Jupyter Notebook, ima nekaj omejitev, ki jih je treba upoštevati.

  • Prenosni računalniki niso samostojni. To je največja pomanjkljivost uporabe prenosnika Jupyter: prenosniki zahtevajo izvajalno okolje Jupyter, skupaj s knjižnicami, ki jih nameravate uporabljati. Obstaja nekaj strategij za ustvarjanje samostojnih zvezkov Jupyter, vendar nobena od njih ni uradno podprta. Najbolje je, da zvezke distribuirate ljudem, ki že imajo vzpostavljeno infrastrukturo za njihovo upravljanje, ali pa jih ne moti namestitev (na primer z Anacondo).
  • Stanja seje ni mogoče enostavno shraniti. Stanja katere koli kode, ki se izvaja v zvezku Jupyter, ni mogoče ohraniti in obnoviti s privzetim naborom orodij programa Jupyter Notebook. Vsakič, ko naložite zvezek, boste morali znova zagnati kodo v njem, da obnovite njegovo stanje.
  • Brez interaktivnega odpravljanja napak ali drugih funkcij IDE. Jupyter Notebook ni popolno razvojno okolje za Python. Številne funkcije, ki bi jih pričakovali v IDE-ju - npr. Interaktivno odpravljanje napak, dokončanje kode in upravljanje modulov - tam niso na voljo.
$config[zx-auto] not found$config[zx-overlay] not found