Jupyter Notebook podstawy – Wykonaj kod bezpośrednio w notatniku

Bardzo często mówi się, że Python może być znakomitą alternatywą dla narzędzi takich jak Matlab czy Mathematica, głównie ze względu na to, że jest względnie szybki, łatwy do nauczenia, darmowy i posiada niezliczone biblioteki rozszerzające jego możliwości. Jedną z nich jest Jupyter i jego notebook, który pozwala na tworzenie interaktywnych arkuszy mogących zawierać kod wykonywalny, opisy, tabele, wykresy i wiele innych danych, które służyć mogą nam między innymi do prezentacji wyników naszych prac.

Jupyter notebook
Okno edycji notebooka

Instalacja Jupyter’a

Pracę z Jupyterem, jak łatwo się domyślić, zaczynamy od zainstalowania go w naszym środowisku.  Wykorzystamy do tego Pythonowy instalator pakietów pip, posługując się następującą komendą w naszym terminalu:

pip install jupyter

Jeżeli instalacja przebiegła bez żadnych problemów będziemy mogli uruchomić nasz notebook. Wpisując w terminalu:

jupyter notebook

Po chwili  powinniśmy zobaczyć w przeglądarce stronę startową naszego notebooka.

Jupyter - strona startowa

Jupyter działa na zasadzie usługi sieciowej na postawionym przez siebie serwerze (domyślnie w lokalizacji localhost:8888), dzięki temu otrzymujemy między innymi dostęp przez przeglądarkę.

Dokumentację Jupyter znajdziesz tutaj

Pora zacząć zabawę

Jeżeli wszystko działa tak jak należy to najwyższa pora aby przekonać się na własnej skórze o możliwościach Jupytera. Zacznijmy od stworzenia nowego arkusza. W tym celu na stronie startowej klikamy przycisk New i wybieramy Python 3.

Na dobry początek warto nazwać nasz arkusz, kliknij w napis Untitled na samej górze strony i zamiast niego wpisz „PrintPython”.

Każdy arkusz w Jupyterze składa się z kolejnych komórek, mogą one być różnego typu np. zawierać kod napisany w Pythonie lub w Markdownie, ten pierwszy jest typem domyślnym.

W pierwszej komórce, która jak na razie jest pusta, wpiszmy krótkie przywitanie

print("Witaj Jupyterowy świecie")

Następnie kliknij w znajdujący się nieco wyżej przycisk run, który uruchomi obecnie aktywną komórkę, aby zobaczyć wynik działania naszego kodu.

komórka
Jupyter notebook – wykonana komórka

Wykonując kod w komórce Jupyter automatycznie oznaczył nam kolejność w jakiej były uruchamiane poszczególne komórki, oraz dodał pod spodem nową komórkę.

Zmieńmy typ kolejnej komórki tak aby mogła ona zawierać tekst sformatowany znacznikami Markdown. Kliknij w pole wyboru typu w górnym menu i zmień Code na Markdown. Teraz w komórce wpisz następujący kod i ją uruchom.

# Co może notebook: 
- wszystko 
- jeszcze więcej

Możemy również dodawać wzory atematyczne posługując się składnią języka Latex i umieszczając je między znacznikami $ $

$y = sin(\frac{x^2}{2})$
jupyter notebook - markdown
Jupyter notebook – zastosowanie markdown

W kolejnej komórce zadeklarujmy sobie dwie zmienne i uruchommy ją

x = 4 
y = 7

W nowej komórce wypisz sumę tych dwóch zmiennych, następnie wróć do poprzedniej komórki i zmień jedną ze zmiennych. Teraz uruchom jeszcze raz komórkę, która wypisuje sumę.

Możesz też dodać następną komórkę która podmieni jedną z naszych zmiennych, a potem jeszcze raz uruchom komórkę która wypisywała sumę.

Jak widzisz możliwe jest wykonywanie kawałków kodu w dowolnej kolejności, a w szczególności łatwe wracanie do poprzednich komórek. Pozwala to na bardzo wygodne prototypowanie kodu.

Matplotlib – czyli wykresy w Pythonie

Korzystając z Jupytera, często będziemy chcieli stworzyć notebook, który będzie pełnił rolę raportu bądź sprawozdania dotyczącego jakiegoś zagadnienia. W takiej sytuacji niejednokrotnie będziemy potrzebować umieścić w nim wykres. Do tego zadania wykorzystamy bibliotekę Matplotlib.

Spróbujmy wykonać w naszym notebooku następujący kawałek kodu

import numpy as np 
import matplotlib.pyplot as plt 
x = np.arange(0, 10, 0.01)
y = np.sin(x*x) 
plt.plot(x, y)
wykres matplotlib
Jupyter notebook – wykres przy użyciu matplotlib

W wyniku jego działania powinniśmy uzyskać sinusoidę. Jeżeli nie masz zainstalowanej biblioteki matplotlib lub numpy, możesz zainstalować je wpisując w notebooku komendę

! pip install matplotlib numpy

Jest to możliwe ze wzglądu na to, że jupyter umożliwia wykonywanie poleceń powłoki poprzedzając je znakiem „!”, tak samo jak ma to miejsce w IPythonie.

Warto również ustawić tryb wyświetlania wykresów, można do tego użyć komendy wpisanej na początku notebooka

%matplotlib inline

lub

%matplotlib notebook

Zazwyczaj ten pierwszy jest domyślny natomiast drugi pozwala na nieco więcej interakcji.

Czy to wszystko co umie Jupyter?

W tym artykule poznaliśmy część możliwości jakie daje nam Jupyter, dzięki którym jesteśmy w stanie stworzyć arkusz który prezentować może wyniki naszej pracy lub ułatwić nam opracowywanie jakiegoś zagadnienia. W następnej części z tej serii dowiemy się między innymi jak usprawnić naszą pracę z notebookiem oraz jak stworzyć prezentacje wykorzystując narzędzie

Kolejny wpis z tej serii jest dostępny pod tym linkiem

Zachęcam Cię również do komentowania tego wpisu, daj znać czego jeszcze chcesz dowiedzieć się na temat Jupyter notebooka.


Jeżeli zaczynasz swoją przygodę z Pythonem i szukasz osoby, która Ci w niej pomoże – zajrzyj na stronę O Blogu.


Sprawdź też najnowsze wpisy na moim blogu:




2 komentarze

Powyższy post porusza bardzo ciekawe kwestie. Dziękuję Jędrzeju za tak pomocne wprowadzenie. PrintPython to mój najulubieńszy blog o programowaniu !!

Zgodzę się tu, że Python to jeden z łatwiejszych do nauczenia się języków programowania. Warto od takich właśnie zacząć i z czasem opanowywać coraz bardziej zaawansowane techniki programowania.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *