Знакомимся с любимым инструментом аналитиков и ML-разработчиков.
Не всегда для программирования хочется запускать среду разработки, настраивать окружение и создавать новый проект. Иногда надо просто быстро написать функцию, запустить её, сохранить результат и поделиться им. Для этих целей отлично подходит 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. Все питонисты используют его для установки сторонних библиотек и инструментов.
Установка через Anaconda
Интерфейс Anaconda Navigator
Скриншот: Anaconda Navigator / Skillbox Media
Установка через Miniconda
Запуск в Google Colab
Как работать с Jupyter Notebook
Jupyter Notebook установили, теперь пришло время научиться с ним работать.
Настройка проекта
Скриншот: Jupyter Notebook / Skillbox Media
Типы ячеек
Работа в 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 применяют в анализе данных, машинном обучении, научных исследованиях и образовании.