Введение в Jupyter Notebook

Прежде чем мы погрузимся в мир расширений, давайте кратко рассмотрим, что такое Jupyter Notebook и почему он является основным инструментом в сообществе Data Science. Jupyter Notebook — это открытое веб-приложение, которое позволяет создавать и совместно использовать документы, содержащие исполняемый код, уравнения, визуализации и описательный текст. Он особенно популярен среди специалистов по обработке данных благодаря своей способности визуализировать данные и выполнять интерактивные вычисления.

Почему расширения?

Jupyter Notebook обладает невероятной мощью «из коробки», но его истинный потенциал раскрывается, когда вы начинаете использовать расширения. Эти расширения могут улучшить ваш рабочий процесс, сделать ваш код более читаемым и даже превратить ваши блокноты в интерактивные презентации. Вот как можно начать работу с ними.

Установка расширений

Для установки расширений для Jupyter Notebook необходимо использовать пакет jupyter_contrib_nbextensions. Вот пошаговое руководство:

Использование pip

pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user

Использование conda

Если вы используете Anaconda, вы можете установить расширения через conda:

conda install -c conda-forge jupyter_contrib_nbextensions
jupyter contrib nbextension install --user

После установки вы увидите новую вкладку под названием «Nbextensions» в интерфейсе Jupyter Notebook. Здесь вы можете включать или отключать различные расширения.

Топ-5 расширений для Jupyter Notebook

1. Menu Snippets

Одним из самых неприятных аспектов работы в блокнотах Jupyter является постоянная необходимость импортировать одни и те же библиотеки снова и снова. Расширение Menu Snippets решает эту проблему, предоставляя меню, в котором вы можете получить доступ к документации, операторам импорта и определениям функций для популярных библиотек, таких как pandas, numpy и matplotlib.

Чтобы включить это расширение, просто установите флажок рядом с «Menu Snippets» на вкладке Nbextensions.

2. Stratchpad

Расширение Stratchpad представляет собой мини-блокнот внутри основного блокнота. Оно позволяет вам тестировать фрагменты кода без создания новой ячейки или воздействия на основной код. Вы можете открыть Stratchpad, нажав Ctrl+B или щёлкнув соответствующую кнопку в правом нижнем углу.

3. Autopep8

Autopep8 — это спасение для всех, кто заботится о читаемости кода. Это расширение форматирует ваш код Python в соответствии со стандартами PEP 8 одним щелчком мыши.

Сначала установите пакет autopep8:

pip install autopep8

Затем включите расширение Autopep8 на вкладке Nbextensions. Вы можете отформатировать ячейку, выбрав её и нажав на значок молотка, или отформатировать весь блокнот, удерживая Shift и нажимая на значок молотка.

4. Table of Contents

Навигация по большим блокнотам может быть затруднительной. Расширение «Таблица содержания» решает эту проблему, предоставляя навигационную панель на основе заголовков Markdown.

Чтобы использовать его, пометьте свои заголовки символами # в ячейках Markdown. Расширение автоматически создаст оглавление.

5. ExecuteTime

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

Включите это расширение на вкладке Nbextensions, и вы увидите время выполнения, отображаемое под каждой ячейкой.

Создание пользовательских расширений

Если доступные расширения не соответствуют вашим потребностям, вы можете создать свои собственные. Вот краткое руководство по тому, как это сделать, используя Azure Data Studio в качестве примера.

Настройка среды

Сначала необходимо установить Yeoman-генератор для расширений Azure Data Studio:

npm install -g yo generator-azuredatastudio

Затем запустите генератор:

yo azuredatastudio

Выберите «Новые блокноты (отдельные)» и следуйте инструкциям, чтобы настроить проект расширения.

Создание расширения

Вот пример того, как вы можете создать простое расширение, запускающее блокнот Jupyter:

Заключение

Расширения Jupyter Notebook могут значительно улучшить ваш рабочий процесс обработки данных, делая его более эффективным, читаемым и интерактивным. Независимо от того, используете ли вы готовые расширения или создаёте свои собственные, возможности безграничны. Так что вперёд, исследуйте мир расширений Jupyter Notebook – ваше будущее «я» (и ваш код) скажут вам спасибо.