Ai Python

Знайомство з Jupyter Notebook та JupyterLab

Чому Data Science використовує Jupyter замість .py файлів, як встановити та запустити JupyterLab, що таке комірки коду та Markdown, і як ефективно працювати з нотбуком

Знайомство з Jupyter Notebook та JupyterLab

Проблема, яку ви ще не знали, що маєте

Уявіть таке завдання: у вас є CSV-файл з даними про 50 000 продажів за рік. Потрібно:

  1. Завантажити дані
  2. Подивитися, як вони виглядають
  3. Знайти середню ціну товару
  4. Побудувати графік продажів по місяцях
  5. Зрозуміти, які товари продаються найгірше

Ви пишете Python-скрипт. Запускаєте. Бачите помилку на кроці 3 — опечатка в назві стовпця. Виправляєте. Запускаєте знову — і весь код виконується з самого початку. Завантаження даних, перевірка, обчислення — все заново. Графік відкрився в окремому вікні, закрився... де він тепер?

А тепер уявіть інший підхід: ви виконуєте кожен крок окремо, бачите результат відразу під кодом, графік вбудований прямо в документ, і якщо щось не так — виправляєте лише той один крок, не перезапускаючи все.

Це і є Jupyter Notebook.

Аналогія: звичайний .py файл — це як книга, яку можна читати лише від початку до кінця. Якщо хочете знайти щось на сторінці 147, доведеться перегортати всі 146 сторінок перед нею. Jupyter Notebook — це інтерактивний зошит, де кожен абзац можна виконати незалежно, побачити результат, виправити і продовжити далі.


Що таке Jupyter Notebook

Jupyter Notebook — це відкрите середовище для інтерактивних обчислень. Назва походить від трьох мов програмування: Julia, Python, R — хоча сьогодні він підтримує десятки мов.

Файл нотбука має розширення .ipynb (IPython Notebook). Це звичайний JSON-файл, де зберігаються:

  • Вміст кожної комірки (код або текст)
  • Результати виконання коду
  • Метадані (версія Python, ядро)
.ipynb файл можна відкрити у будь-якому текстовому редакторі — там буде JSON. Але для нормальної роботи потрібен Jupyter — він рендерить комірки, виконує код і показує результати в зручному вигляді.

JupyterLab — це сучасний інтерфейс для роботи з нотбуками. Якщо Jupyter Notebook — це простий зошит, то JupyterLab — це повноцінне IDE: кілька нотбуків в окремих вкладках, файловий менеджер збоку, термінал, перегляд CSV та зображень.

Jupyter Notebook (класичний)

Простий інтерфейс «один нотбук — одна вкладка». Відмінний для навчання та простих завдань. Запускається командою jupyter notebook.

JupyterLab (сучасний)

Повноцінне IDE-середовище: кілька вкладок, файловий браузер, термінал, розширення. Саме його ми будемо використовувати. Запускається командою jupyter lab.

Встановлення та запуск JupyterLab

Перш ніж встановлювати, переконайтесь, що у вас є Python 3.8 або новіший. Перевірте у терміналі:

python --version
# або
python3 --version

Якщо Python встановлено, встановлюємо JupyterLab. Оберіть спосіб відповідно до вашого інструменту керування пакетами:

pip install jupyterlab

Після встановлення запускайте JupyterLab:

jupyter lab
jupyter lab
$ jupyter lab
[I] JupyterLab 4.x.x is running at:
[I] http://localhost:8888/lab?token=abc123...
[I] Use Control-C to stop this server.

Після запуску браузер відкриється автоматично на адресі http://localhost:8888/lab. Якщо не відкрився — скопіюйте адресу з терміналу і вставте вручну.

JupyterLab працює у браузері, але не потребує інтернету. Браузер тут — лише інтерфейс. Весь код виконується локально на вашому комп'ютері.
Не закривайте термінал, поки працюєте з JupyterLab — саме там запущений сервер. Якщо закрити термінал, JupyterLab перестане працювати.

Анатомія інтерфейсу JupyterLab

Після запуску ви побачите інтерфейс, який складається з кількох зон:

Ліва панель — файловий браузер

Показує файли та папки на вашому комп'ютері (з тієї директорії, де ви запустили jupyter lab). Тут можна відкрити існуючий .ipynb або створити новий.

Центральна зона — робоча область

Основна зона роботи. Тут відкриваються нотбуки, текстові файли, термінали. Підтримує кілька вкладок одночасно.

Меню та панель інструментів

Стандартні операції: збереження, запуск, зупинка ядра. Також тут перемикається тип комірки (Code / Markdown).

Щоб створити новий нотбук, натисніть на кнопку + у лівій панелі або виберіть File → New → Notebook. Система запитає, яке ядро (kernel) використовувати — обирайте Python 3.


Нотбуки та комірки: основна одиниця роботи

Нотбук складається з комірок (cells). Комірка — це окремий блок, який можна виконати незалежно від інших. Саме в цьому і полягає головна перевага Jupyter: виконуйте кроки один за одним, бачте результат відразу.

Два типи комірок

Існує два основних типи комірок:

Code (Код)

Містить Python-код. Після виконання результат з'являється одразу під коміркою. Зліва від комірки з'являється номер виконання: [1]:, [2]: тощо.

# Це комірка коду
x = 10 + 5
print(x)
# ↓ Результат з'являється тут ↓
# 15

Markdown (Текст)

Містить текст у форматі Markdown. Після виконання рендериться як відформатований текст: заголовки, списки, жирний, курсив, посилання, формули LaTeX.

## Мій аналіз

Тут я описую **що** я роблю і **чому**.

- Крок 1: завантаження даних
- Крок 2: очищення

Аналогія: уявіть, що ви ведете лабораторний журнал. Комірка Markdown — це ваші нотатки та пояснення («сьогодні я досліджую вплив температури на...»). Комірка коду — це сам експеримент («нагріваємо до 100°C і вимірюємо»). І те, і те в одному місці, одне за одним.

Нумерація та порядок виконання

Зліва від кожної виконаної комірки коду ви побачите [n]: де n — порядковий номер виконання. Це важлива деталь.

Якщо ви виконали комірки у такому порядку:

[1]: x = 10
[2]: y = 20
[3]: print(x + y)

А потім повернулись і виконали першу комірку знову — вона стане [4]:. Значення x оновиться. Але print(x + y) залишиться з результатом [3] — старим значенням, поки ви не виконаєте її ще раз.

Jupyter зберігає стан між виконаннями. Якщо ви видалите комірку, де оголосили змінну, але вже виконали її — змінна залишається в пам'яті до перезапуску ядра. Це частий источник плутанини для початківців.

Ядро (Kernel): мозок нотбука

Ядро (kernel) — це процес Python, який виконує ваш код. Ядро «пам'ятає» всі змінні та функції, що ви оголосили під час сесії.

Стан ядра відображається у верхньому правому куті:

  • Порожнє коло — ядро вільне, готове виконувати код
  • Крапки/завантаження — ядро зайняте, виконує код
  • Поруч з номером комірки: [*]: — ця комірка зараз виконується або в черзі
Якщо ваш код «завис» (нескінченний цикл або дуже довге обчислення), ядро буде показувати [*]: постійно. Зупинити виконання: Kernel → Interrupt Kernel або кнопка ■ на панелі інструментів.

Два режими роботи: Edit і Command

Jupyter має два режими роботи — це важливо зрозуміти, щоб ефективно користуватися гарячими клавішами.

Edit Mode (Режим редагування)

Ви всередині комірки і редагуєте її вміст. Рамка навколо комірки — синя (в JupyterLab). Увімкнути: натисніть Enter або клікніть на комірку.

Command Mode (Режим команд)

Ви знаходитесь між комірками і можете виконувати операції над ними: додавати, видаляти, переміщати. Рамка — блакитна з боку. Увімкнути: натисніть Esc.

Аналогія: Edit mode — це коли ви пишете текст у документі Word. Command mode — це коли ви у Word виділили цілий абзац і збираєтесь його перемістити або видалити. В одному режимі ви редагуєте вміст, у другому — керуєте структурою.


Гарячі клавіші: швидкість роботи

Знання гарячих клавіш перетворює роботу з Jupyter із клопіткої на зручну. Ось найважливіші:

Клавіші, що працюють в обох режимах

КлавішаДія
Shift + EnterВиконати комірку і перейти до наступної (якщо наступної немає — створити нову)
Ctrl + EnterВиконати комірку і залишитись у ній
Alt + EnterВиконати комірку і додати нову знизу
Найпоширеніша клавіша — Shift + Enter. Вона «крутить» нотбук вперед: виконав, побачив результат, перейшов до наступного кроку. Саме так виглядає типова робота в Jupyter.

Клавіші Command Mode (після Esc)

КлавішаДія
AДодати нову комірку вище (Above) поточної
BДодати нову комірку нижче (Below) поточної
D DВидалити поточну комірку (натиснути D двічі)
MЗмінити тип комірки на Markdown
YЗмінити тип комірки на Code
ZСкасувати останню операцію над коміркою
/ Переміщення між комірками
Shift + ↑/↓Виділити кілька комірок
Клавіші A (Above) і B (Below) — ваші найкращі друзі. Набагато швидше натиснути B, ніж тягнутись до кнопки «+» на панелі.

Markdown-комірки: документуйте свій аналіз

Одна з найбільших переваг Jupyter — можливість поєднувати код і пояснення в одному місці. Markdown-комірки підтримують весь стандартний Markdown-синтаксис.

Основний синтаксис Markdown у Jupyter

# Заголовок першого рівня

## Заголовок другого рівня

**Жирний текст**, _курсив_, `inline код`

- Маркований список
- Ще один пункт

1. Нумерований список
2. Крок другий

[Посилання](https://example.com)

| Стовпець 1 | Стовпець 2 |
| :--------- | :--------- |
| Значення 1 | Значення 2 |

Математичні формули (LaTeX)

Jupyter підтримує рендеринг математичних формул через LaTeX:

Вбудована формула: $E = mc^2$

Блокова формула:

$$
\hat{y} = w_0 + w_1 x_1 + w_2 x_2
$$

Це особливо корисно в статтях про машинне навчання — формули рендеряться красиво прямо в нотбуці.

Не лякайтеся синтаксису $$...$$. Коли будемо проходити лінійну регресію в Модулі 3, ви навчитесь записувати формули акуратно прямо в нотбуці. Зараз просто знайте, що це можливо.

Корисні прийоми та підказки

Автодоповнення коду

У комірці коду натисніть Tab після початку назви змінної або функції — Jupyter запропонує варіанти. Наприклад: priTabprint.

Довідка по функції

Введіть назву функції зі знаком питання та виконайте комірку:

print?

Або поставте курсор на назву функції і натисніть Shift + Tab — з'явиться коротка довідка.

Магічні команди (Magic Commands)

Jupyter має спеціальні команди, що починаються з % або %%. Ось найбільш корисні:

# Виміряти час виконання рядка коду
%time sum(range(1_000_000))

# Виміряти час виконання всієї комірки
%%time
total = 0
for i in range(1_000_000):
    total += i

# Показати всі змінні у поточній сесії
%who

# Показати список усіх магічних команд
%lsmagic
Jupyter Cell Output
In [1]: %time sum(range(1_000_000))
Out[1]: 499999500000
CPU times: user 23.4 ms, sys: 0 ns, total: 23.4 ms
Wall time: 23.5 ms

Перезапуск ядра

Якщо щось пішло не так — змінні «засмітились», код веде себе несподівано — перезапустіть ядро:

Kernel → Restart Kernel — скидає всі змінні, зберігає вміст комірок.

Kernel → Restart Kernel and Run All Cells — перезапускає і виконує всі комірки зверху вниз. Використовуйте, коли хочете перевірити, що нотбук працює «з чистого аркуша».


Практика


Резюме

Jupyter Notebook

Інтерактивне середовище для Python, де код виконується по комірках, а результати відображаються прямо під кодом. Файл має розширення .ipynb.

JupyterLab

Сучасний інтерфейс для роботи з нотбуками: кілька вкладок, файловий браузер, термінал. Запускається командою jupyter lab.

Комірка коду (Code Cell)

Виконує Python-код. Результат з'являється під коміркою. Нумерується [n]: у порядку виконання.

Комірка Markdown

Рендерить відформатований текст: заголовки, списки, жирний, формули LaTeX. Перемикання: M у Command mode.

Command Mode

Режим керування комірками: додавання (A / B), видалення (D D), зміна типу (M / Y). Вхід: Esc.

Edit Mode

Режим редагування вмісту комірки. Вхід: Enter або клік на комірку.

Ядро (Kernel)

Процес Python, що виконує код і зберігає стан (змінні, функції). Перезапуск: Kernel → Restart Kernel.

Shift + Enter

Головна клавіша Jupyter: виконати комірку і перейти до наступної. Ваш найкращий друг при роботі з нотбуком.
Наступна стаття — NumPy та pandas: ефективна робота з числовими масивами та табличними даними. Саме ці бібліотеки перетворюють Python на потужний інструмент для Data Science.
Copyright © 2026