Код
#статьи

Jupyter Notebook: что это за программа и для чего она нужна

Знакомимся с любимым инструментом аналитиков и ML-разработчиков.

Иллюстрация: Оля Ежак для Skillbox Media

Не всегда для программирования хочется запускать среду разработки, настраивать окружение и создавать новый проект. Иногда надо просто быстро написать функцию, запустить её, сохранить результат и поделиться им. Для этих целей отлично подходит Jupyter Notebook — интерактивный блокнот для работы с кодом и текстом.

В этой статье знакомимся с Jupyter Notebook, рассказываем, как его установить, и создаём свой первый «ноутбук».

Содержание


Что такое Jupyter Notebook

Jupyter Notebook — интерактивный блокнот, в котором можно выполнять код на разных языках программирования, добавлять к нему текст, изображения, инфографику и формулы. Его главная особенность в том, что пользователь сразу видит код и результат его работы, а фрагменты кода можно запускать по частям.

Записи в Jupyter Notebook называют «ноутбуками» — это файлы в формате .ipynb. Ими можно делиться с другими пользователями. Кроме того, проекты можно совместно просматривать и редактировать. Если надо поделиться «ноутбуком», то файл можно экспортировать в форматах PDF или HTML.

C Jupyter Notebook можно создавать отчёты, строить графики и диаграммы
Скриншот: Jupyter Notebook / Skillbox Media

Где используют Jupyter Notebook

Jupyter Notebook отлично подходит для сфер, в которых важно быстро получить результат работы кода и чтобы всегда была возможность вернуться к нему без повторного выполнения:

  • Анализ данных. Для аналитиков программирование — просто инструмент для решения задачи. Например, с помощью кода можно быстро найти взаимосвязи между событиями. Для такой задачи не хочется запускать IDE и настраивать полноценный проект.
  • Научные исследования. Учёные используют интерактивный блокнот для сложных расчётов и построения графиков на основе результатов экспериментов.
  • Обучение. Преподаватели часто запускают примеры кода в Jupyter Notebook. Так студенты видят задачу, код решения и результат в одном документе. А ещё можно на ходу переписывать код и видеть обновлённый результат.
  • Эксперименты с кодом. Если вышло обновление Python, то его можно попробовать в интерактивном блокноте.
  • Продвинутый калькулятор. Студенты используют Jupyter Notebook в качестве бесплатного и универсального калькулятора. С его помощью можно быстро решить уравнение, построить график и добавить комментарии для одногруппников и преподавателя. Но есть минус: надо уметь программировать.

Поддерживаемые языки программирования

Jupyter Notebook создавали для языков программирования Julia, Python и R, что отразилось в названии интерактивного блокнота. Со временем энтузиасты начали создавать специальные модули для подключения дополнительных языков программирования. Сейчас «ноутбуки» поддерживают Python, C/C++, Dart, Lua, JavaScript, Go, Matlab, PHP, Ruby, TypeScript и другие языки.

Каждый язык программирования подключается к интерактивному блокноту с помощью специального ядра (kernel). Чаще всего для установки ядра надо использовать команды пакетного менеджера PIP или Conda, а список всех ядер можно посмотреть в репозитории проекта.

Как установить Jupyter Notebook

Jupyter Notebook можно запускать локально на своём компьютере или в облаке. Первый способ подойдёт, если вы планируете работать с «ноутбуками» в одиночку. Для взаимодействия с коллегами удобнее использовать облачную версию.

Важно, чтобы у вас уже была установлена актуальная версия Python и пакетного менеджера PIP. Выполните в терминале команду python --version. Если в окне появится номер версии, то можно переходить к следующим шагам. Если терминал выдаёт ошибку или говорит, что не может найти указанный пакет, то установите Python по нашей инструкции.

Установка через PIP

Самый простой способ установить Jupyter Notebook — через пакетный менеджер PIP. Все питонисты используют его для установки сторонних библиотек и инструментов.

Шаг 1. Откройте терминал и выполните в нём команду pip install notebook. После этого запустится процесс установки.

Шаг 2. Введите команду jupyter notebook. Она запустит локальный Jupyter-сервер на вашем компьютере, а в браузере откроется новая вкладка с интерфейсом интерактивного блокнота.

Установка через Anaconda

Anaconda — бесплатный дистрибутив языков программирования Python и R, который включает в себя инструменты для машинного обучения и анализа данных. Помимо всего прочего, в нём есть и Jupyter Notebook.

Шаг 1. Перейдите на официальный сайт Anaconda и скачайте установщик для вашей операционной системы.

Шаг 2. Запустите скачанный файл и следуйте инструкциям установки.

Шаг 3. Откройте Anaconda Navigator на вашем компьютере и выберите в меню Jupyter Notebook или просто выполните в терминале команду jupyter notebook.

Интерфейс Anaconda Navigator
Скриншот: Anaconda Navigator / Skillbox Media

Установка через Miniconda

Miniconda — это облегчённая версия Anaconda, в которой есть только Python, менеджер пакетов Conda и минимальный набор зависимостей. Остальные пакеты, включая интерактивные блокноты, надо устанавливать отдельно.

Шаг 1. Перейдите на официальный сайт Anaconda и в разделе Miniconda скачайте установщик для вашей операционной системы.

Шаг 2. Запустите скачанный файл и следуйте инструкциям установки.

Шаг 3. Установите Jupyter Notebook с помощью команды conda install jupyter.

Шаг 4. Для запуска интерактивных блокнотов используйте команду jupyter notebook.

Запуск в Google Colab

Google Colab — бесплатный облачный сервис на базе Jupyter Notebook. С его помощью можно работать с интерактивными блокнотами онлайн.

Шаг 1. Перейдите на официальный сайт Google Colab и авторизуйтесь с помощью аккаунта Google.

Шаг 2. Нажмите кнопку Создать блокнот или откройте существующий файл с расширением .ipynb.

Как работать с Jupyter Notebook

Jupyter Notebook установили, теперь пришло время научиться с ним работать.

Настройка проекта

Шаг 1. Запустите Jupyter Notebook с помощью команды jupyter notebook и нажмите New в правом верхнем углу. В выпадающем списке выберите New Folder.

Скриншот: Jupyter Notebook / Skillbox Media

Шаг 2. Задайте папке имя, например, MyProject. Откройте её.

Шаг 3. Снова нажмите кнопку New в правом верхнем углу, но в выпадающем списке уже выберите пункт Python 3. Откроется новый «ноутбук».

Шаг 4. По умолчанию все «ноутбуки» называются Untitled. Нажмите на эту надпись и введите своё название, например MyFirstNotebook. Нажмите Rename.

Типы ячеек

Работа в Jupyter Notebook построена вокруг ячеек — блоков, которые можно редактировать и запускать. Есть несколько видов ячеек:

  • Code — блоки, в которых содержится исполняемый код. Например, с их помощью можно написать выражение на Python, запустить его и сразу же увидеть результат ниже.
  • Markdown — ячейки для форматирования текста. Если хотите добавить к коду подробное объяснение, то используйте этот блок.
  • Raw — «сырые» данные, которые используют для настройки сложных сценариев импорта и визуализации данных.
Настройка ячейки в Jupyter Notebook
Скриншот: Jupyter Notebook / Skillbox Media

Сохранение и экспорт

Чтобы сохранить «ноутбук» нажмите кнопку File в строке меню и выберите пункт Save and Checkpoint. Файл можно экспортировать, например, чтобы поделиться им с коллегами. Для этого нажмите File, перейдите в пункт Download as и выберите формат экспорта (PDF или HTML).

Примеры

Разберём несколько примеров работы с Jupyter Notebook.

Вычисление выражений

Выберем тип ячейки Code и впишем в неё математическое выражение 15 + 28. После этого запустим выполнение кода, и после блока появится результат вычисления. Таким образом можно запускать любой код на Python и сразу видеть вывод программы.

Скриншот: Jupyter Notebook / Skillbox Media

Форматирование текста

Назначим ячейке тип Markdown и введём следующий код:

# Заголовок первого уровня
## Заголовок второго уровня
*Курсивный текст* и **жирный текст**.

Формула: $$E = mc^2$$

Если нажать сочетание клавиш Shift + Enter, то текст отобразится с заданной разметкой:

Скриншот: Jupyter Notebook / Skillbox Media

Для форматирования текста Jupyter Notebook использует язык разметки Markdown. Основы его синтаксиса можно изучить с помощью нашей шпаргалки.

Работа с данными

Jupyter Notebook часто используют для анализа данных и построения графиков. Для этого нужны библиотеки Pandas и Matplotlib. Установить их можно с помощью команд pip install pandas и pip install matplotlib соответственно. Если вы пользуетесь дистрибутивом Anaconda, то эти библиотеки уже есть на вашем компьютере.

Теперь построим таблицу. Для этого создайте ячейку типа Code и скопируйте в неё следующий код:

import pandas as pd

data = {
    "Имя": ["Аня", "Иван", "Михаил"],
    "Возраст": [25, 30, 35],
    "Город": ["Москва", "Санкт-Петербург", "Новосибирск"]
}

df = pd.DataFrame(data)
display(df)

Если его выполнить, то в «ноутбуке» появится наша таблица:

Скриншот: Jupyter Notebook / Skillbox Media

Теперь построим график с помощью функции pyplot из библиотеки Matplotlib. Для этого скопируйте в ячейку следующий фрагмент кода:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]

plt.plot(x, y)
plt.title("Пример графика")
plt.xlabel("X-ось")
plt.ylabel("Y-ось")
plt.show()

Запустим его и в результате получим параболу:

Скриншот: Jupyter Notebook / Skillbox Media

Что запомнить

  • Jupyter Notebook — интерактивный блокнот, в котором можно выполнять код на разных языках программирования и добавлять к нему текст, изображения и инфографику.
  • Jupyter создавали для Julia, Python и R, но сейчас блокнот поддерживает несколько десятков языков, включая JavaScript, C/C++ и PHP.
  • Интерактивный блокнот можно установить локально или использовать в облаке, например, через Google Colab.
  • Чаще всего Jupyter Notebook применяют в анализе данных, машинном обучении, научных исследованиях и образовании.

Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Жизнь можно сделать лучше!
Освойте востребованную профессию, зарабатывайте больше и получайте от работы удовольствие.
Каталог возможностей
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована