Повышение продуктивности при работе с Jupyter Notebook за 5 минут
Для начала повторим основные горячие клавиши. Если вы их ещё не используете — начните обязательно. В долгосрочной перспективе время на изучение окупится многократно.
0. Основные горячие клавиши
- Esc: Переключение между режимом выполнения и редактирования
- A: Добавление пустой ячейки сверху
- B: Добавление пустой ячейки снизу
- DD: Удаления ячейки
- C: Копирование ячеек
- X: Вырезание ячеек
- V: Вставка ячеек
1. Перезапуск блокнота
Для рестарта просто нажмите ESC + 00.
2. Прокрутка блокнота
Нажатие Space прокрутит блокнот вниз, а Shift + Space — вверх.
3. Отмена удаления ячейки
Для быстрой отмены удаления ячейки нажмите ESC + Z
4. Разделение ячеек
Начав писать код в одной ячейке, мы постоянно сталкиваемся с необходимостью разделить его по разным ячейкам позже. Вместо ручного создания ячейки и копирования текста, поставьте курсор перед линией, с которой начнётся вторая ячейка, и нажмите Control + Shift + —
5. Вывод результатов всех операций
По умолчанию при выполнении ячейки выводится только результат последней операции.
Чтобы печаталось всё, скопируйте и выполните этот код в вашем блокноте:
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all"

Минус такого подхода в том, что иногда выводиться будет чрезмерно много информации. Чтобы этого избежать, добавьте точку с запятой в конце строки, вывод которой вам не нужен.
6. Пропустить выполнение ячейки
Рано или поздно появится ячейка, выполнение которой вы захотите пропустить. Вместо того чтобы закомментировать или удалить код, просто сделайте так:
%%script false Код, который выполнять не нужно
7. Переход к ячейке, которая выполняется сейчас
Выполните этот код в вашем блокноте, чтобы иметь возможность быстро перемещаться к ячейке, которая выполняется в данный момент, по нажатию Alt + I
%%javascript // Шоткат для перемещения к исполняемой Jupyter.keyboard_manager.command_shortcuts.add_shortcut('Alt-I', < help : 'Go to Running cell', help_index : 'zz', handler : function (event) < setTimeout(function() < // Find running cell and click the first one if ($('.running').length >0) < //alert("found running cell"); $('.running')[0].scrollIntoView(); >>, 250); return false; > >);
1. Профилирование кадра данных панд
Профилированиеэто процесс, который помогает нам понять наши данные и Панды Профилирование это пакет Python, который делает именно это. Это простой и быстрый способ выполнить предварительный анализ данных Pandas Dataframe. Панды df.describe() а также df.info()functions обычно используются в качестве первого шага в процессе EDA. Тем не менее, он только дает очень базовый обзор данных и мало помогает в случае больших наборов данных. С другой стороны, функция Pandas Profiling расширяет DataFrame для панд df.profile_report() для быстрого анализа данных. Он отображает много информации с помощью одной строки кода и в интерактивном отчете HTML.
Для данного набора данных пакет профилирования pandas вычисляет следующую статистику:

Установка
pip install pandas-profiling
or
conda install -c anaconda pandas-profiling
использование
Давайте использовать старинный титановый набор данных, чтобы продемонстрировать возможности универсального профилировщика Python.
#importing the necessary packages
import pandas as pd
import pandas_profiling# Depreciated: pre 2.0.0 version
df = pd.read_csv('titanic/train.csv')
pandas_profiling.ProfileReport(df)
Изменить: Через неделю после публикации этой статьи, Pandas-Profiling вышел с серьезным обновлением — версия 2.0.0. Синтаксис немного изменился, фактически, функциональность была включена в сами панды, и отчет стал более полным. Ниже приведен последний синтаксис использования:
использование
Чтобы отобразить отчет в блокноте Jupyter, выполните:
#Pandas-Profiling 2.0.0
df.profile_report()
Эта единственная строка кода — все, что вам нужно для отображения отчета о профилировании данных в блокноте Jupyter. Отчет довольно подробный, включая графики, где это необходимо.
Отчет также может быть экспортирован винтерактивный файл HTMLсо следующим кодом.
profile = df.profile_report(title='Pandas Profiling Report')
profile.to_file(outputfile="Titanic data profiling.html")
См. документация для более подробной информации и примеров.
2. Обеспечение интерактивности на участках панд
Пандыимеет встроенный .plot() функционировать как часть класса DataFrame. Однако визуализации, представленные с помощью этой функции, не являются интерактивными, что делает его менее привлекательным. Напротив, простота построения графиков с pandas.DataFrame.plot() Функция также не может быть исключена. Что если бы мы могли рисовать интерактивные графически, как диаграммы с пандами, не внося существенных изменений в код? Ну, вы можете сделать это с помощью Запонки библиотека,
Библиотека запонок связывает силу plotly с гибкостью панд для удобного построения. Давайте теперь посмотрим, как мы можем установить библиотеку и заставить ее работать в пандах.
Установка
pip install plotly # Plotly is a pre-requisite before installing cufflinks
pip install cufflinks
использование
#importing Pandas
import pandas as pd
#importing plotly and cufflinks in offline mode
import cufflinks as cfimport plotly.offline
cf.go_offline()
cf.set_config_file(offline=False, world_readable=True)
Время увидеть магию, разворачивающуюся с набором данных Титаник.
df.iplot()

Визуализация справа показывает статическую диаграмму, в то время как левая диаграмма является интерактивной и более подробной, и все это без каких-либо серьезных изменений в синтаксисе.
3. Черта Магии
Волшебные командыэто набор удобных функций в ноутбуках Jupyter, которые предназначены для решения некоторых распространенных проблем стандартного анализа данных. Вы можете увидеть все доступные магию с помощью %lsmagic ,

Магические команды бывают двух видов:линия магиис префиксом одного % символ и работать на одной строке ввода, иклеточная магия, которые связаны с двойным %% префикс и работать на нескольких строках ввода. Магические функции могут вызываться без необходимости вводить начальный%, если установлено значение 1.
Давайте рассмотрим некоторые из них, которые могут быть полезны в общих задачах анализа данных:
% pastebin загружает код в Pastebin и возвращает URL. Pastebin — это онлайн-хостинг, где мы можем хранить простой текст, такой как фрагменты исходного кода, а затем URL-адрес может быть предоставлен другим пользователям. На самом деле, Github Gist также сродниPastebinхотя с контролем версий.
Рассмотрим скрипт на python file.py со следующим содержанием:
#file.py
def foo(x):
return x
С помощью% Pastebinв Jupyter Notebook генерирует URL-адрес для вставки.

- % matplotlib notebook
%matplotlib inline Функция используется для визуализации статических графиков matplotlib в блокноте Jupyter. Попробуйте заменить inline расставаться с notebook легко получить масштабируемые и изменяющие размеры графики. Убедитесь, что функция вызывается перед импортом библиотеки matplotlib.

- %бег
%run Функция запускает скрипт Python внутри ноутбука.
%run file.py
%%writefile записывает содержимое ячейки в файл Здесь код будет записан в файл с именемfoo.pyи сохраняется в текущем каталоге.

- %%латекс
Латексная функция %% рендерит содержимое ячейки как LaTeX. Это полезно для написания математических формул и уравнений в ячейке.

4. Поиск и устранение ошибок
интерактивный отладчиктакже магическая функция, но я дал ей свою категорию. Если вы получаете исключение при выполнении ячейки кода, введите %debug в новой строке и запустить его. Это открывает интерактивную среду отладки, которая приводит вас к позиции, где произошло исключение Вы также можете проверить значения переменных, назначенных в программе, а также выполнить операции здесь. Для выхода из отладчика нажмите q ,
5. Печать тоже может быть красивой
Если вы хотите создать эстетически приятное представление ваших структур данных, pprint это модуль go-to. Это особенно полезно при печати словарей или данных JSON. Давайте посмотрим на пример, который использует оба print а также pprint отображать вывод.

6. Выделение заметок.
Мы можем использовать поля оповещений / заметок в ваших блокнотах Jupyter, чтобы выделить что-то важное или что-то, что должно выделиться. Цвет заметки зависит от типа указанного оповещения. Просто добавьте любой или все следующие коды в ячейку, которую нужно выделить.
Tip: Use blue boxes (alert-info) for tips and notes.
If it’s a note, you don’t have to include the word “Note”.

- Yellow Alert Box: предупреждение
Example: Yellow Boxes are generally used to include additional examples or mathematical formulas.

- Green Alert Box: успех
Use green box only when necessary like to display links to related content.

- Red Alert Box: Опасность
It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc.

7. Печать всех выходных данных ячейки
Рассмотрим ячейку Jupyter Notebook, содержащую следующие строки кода:
In [1]: 10+5
11+6Out [1]: 17
Это нормальное свойство ячейки, которое печатает только последний вывод, а для остальных нам нужно добавить print() функция. Что ж, получается, что мы можем напечатать все выходные данные, просто добавив следующий фрагмент вверху ноутбука.
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all"
Теперь все выходные данные печатаются один за другим.
In [1]: 10+5
11+6
12+7Out [1]: 15
Out [1]: 17
Out [1]: 19
Чтобы вернуться к исходным настройкам:
InteractiveShell.ast_node_interactivity = "last_expr"
8. Запуск скриптов Python с опцией «я».
Типичный способ запуска скрипта Python из командной строки: python hello.py. Однако, если вы добавите дополнительный -i во время выполнения того же скрипта, например python -i hello.py это предлагает больше преимуществ. Посмотрим как.
- Во-первых, после достижения конца программы python не завершает работу интерпретатора. Таким образом, мы можем проверить значения переменных и правильность функций, определенных в нашей программе.
- Во-вторых, мы можем легко вызвать отладчик Python, так как мы все еще в интерпретаторе:
import pdb
pdb.pm()
Это приведет нас к позиции, где произошло исключение, и мы сможем затем работать над кодом.
9. Комментируя код автоматически
Ctrl/Cmd + / автоматически закомментирует выделенные строки в ячейке. Повторное нажатие на комбинацию раскомментирует ту же строку кода.
10. Удалить человеческое, восстановить божественное
Вы когда-нибудь случайно удаляли ячейку в блокноте Jupyter? Если да, то здесь есть ярлык, который может отменить действие удаления.
- Если вы удалили содержимое ячейки, вы можете легко восстановить его, нажав CTRL/CMD+Z
- Если вам нужно восстановить целую удаленную ячейку, нажмите ESC+Z или EDIT > Undo Delete Cells
Вывод
В этой статье я перечислил основные советы, которые я собрал, работая с ноутбуками Python и Jupyter. Я уверен, что они будут полезны для вас, и вы возьмете что-то из этой статьи. До тех пор, пока Happy Coding !.
Запуск записных книжек Jupyter Notebook в рабочей области
В этой статье показано, как запускать записные книжки Jupyter в рабочей области Студия машинного обучения Azure. Существуют и другие способы запуска записной книжки: Jupyter, JupyterLab и Visual Studio Code. Vs Code Desktop можно настроить для доступа к вычислительному экземпляру. Или используйте VS Code для Интернета непосредственно из браузера и без каких-либо необходимых установок или зависимостей.
Мы рекомендуем попробовать VS Code для Интернета, чтобы воспользоваться преимуществами простой интеграции и расширенной среды разработки, которая предоставляется. VS Code для Интернета предоставляет множество функций VS Code Desktop, включая поиск и синтаксис при просмотре и редактировании. Дополнительные сведения об использовании VS Code Desktop и VS Code для Интернета см. в статье «Запуск Visual Studio Code» с Машинное обучение Azure (предварительная версия) и удаленное подключение к вычислительному экземпляру (предварительная версия) в VS Code.
Независимо от того, какое решение вы используете для запуска записной книжки, у вас будет доступ ко всем файлам из рабочей области. Сведения о создании файлов и управлении ими, включая записные книжки, см. в разделе Создание файлов и управление ими в рабочей области.
В этой статье показано, как запустить записную книжку непосредственно в студии.
Компоненты, которые помечены как «предварительная версия», предоставляются без соглашения об уровне обслуживания и не рекомендуются для использования в рабочей среде. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.
Необходимые компоненты
- Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
- Рабочая область машинного обучения. См.раздел Создание ресурсов рабочей области.
- Удостоверение пользователя должно иметь доступ к учетной записи хранения по умолчанию вашей рабочей области. Возможность чтения, изменения и создания записных книжек зависит от уровня доступа к рабочей области. Например, участник может редактировать записную книжку, в то время как читатель может только просматривать ее.
Доступ к записным книжкам из рабочей области
Используйте раздел Записные книжки рабочей области для редактирования и запуска записных книжек Jupyter.
- Войдите в Студию машинного обучения Azure.
- Выберите рабочую область, если она еще не открыта
- Выберите Записные книжки слева.
Изменение записной книжки
Чтобы изменить записную книжку, откройте любую записную книжку, расположенную в разделе User Files (Файлы пользователя) рабочей области. Выберите ячейку, которую вы хотите изменить. Если у вас нет записных книжек в этом разделе, см. статью Создание файлов и управление ими в рабочей области.
Вы можете изменить записную книжку без подключения к вычислительному экземпляру. Если нужно выполнить ячейки в записной книжке, выберите или создайте вычислительный экземпляр. Если выбрать остановленный вычислительный экземпляр, он автоматически запустится при запуске первой ячейки.
Если выполняется вычислительная операция, можно также использовать функцию завершения кода на платформе IntelliSense в любой записной книжке Python.
Вы также можете запустить Jupyter или JupyterLab на панели инструментов записной книжки. Машинное обучение Azure не предоставляет обновления и не исправляет ошибки из Jupyter или JupyterLab, так как они находятся вне границы служба поддержки Майкрософт.
Режим фокусировки
Используйте режим фокусировки, чтобы развернуть текущее представление и сосредоточиться на активных вкладках. Режим фокусировки скрывает обозреватель файлов записных книжек.
- На панели инструментов окна терминала выберите режим фокусировки, чтобы включить режим фокусировки. В зависимости от ширины окна средство может находиться в меню . на панели инструментов.
- В режиме фокусировки вернитесь к стандартному представлению, выбрав Стандартное представление.
Завершение кода (IntelliSense)
IntelliSense — это вспомогательное средство для написания кода, включающее множество возможностей: «Список членов», «Сведения о параметрах», «Краткие сведения» и «Завершить слово». За несколько нажатий клавиш вы можете:
- узнать больше о коде, который вы используете;
- следить за параметрами, которые вы вводите;
- добавлять вызовы в свойства и методы.
Совместное использование записной книжки
Ваши записные книжки хранятся в учетной записи хранения рабочей области и могут использоваться совместно с другими пользователями в зависимости от уровня доступа к рабочей области. Они могут открывать и редактировать записную книжку, если у них есть соответствующий доступ. Например, участник может редактировать записную книжку, в то время как читатель может только просматривать ее.
Другие пользователи рабочей области могут найти записную книжку в разделе «Записные книжки«, «Файлы пользователей» Студия машинного обучения Azure. По умолчанию записные книжки находятся в папке с вашим именем пользователя, и другие пользователи могут получить к ним доступ.
Вы также можете скопировать URL-адрес из браузера при открытии записной книжки, а затем отправить его другим пользователям. Если у них есть соответствующий доступ к рабочей области, они могут открыть записную книжку.
Так как вы не делитесь вычислительными экземплярами, другие пользователи, запускающие записную книжку, будут использовать собственный вычислительный экземпляр.
Совместная работа с комментариями записной книжки (предварительная версия)
Используйте комментарий записной книжки для совместной работы с другими пользователями, имеющими доступ к этой записной книжке.
Переключить отображение области комментариев можно с помощью инструмента Notebook comments (Комментарии записной книжки) в верхней части записной книжки. Если экран недостаточно слишком широкий, откройте этот инструмент, выбрав … в конце набора инструментов.

Вне зависимости от того, отображается ли область комментариев, можно добавить комментарий в любую ячейку кода.

- Выделите фрагмент текста в ячейке кода. В ячейке кода можно комментировать только текст.
- Чтобы создать комментарий, используйте инструмент New comment thread (Создать цепочку комментариев).
- Если область комментариев была ранее скрыта, она откроется.
- Введите комментарий и опубликуйте его с помощью инструмента или нажав клавиши CTRL+ВВОД.
- После публикации комментария выберите . в правом верхнем углу:
- изменить комментарий;
- разрешить цепочку;
- удалить цепочку.
Текст, для которого был добавлен комментарий, будет отображаться в коде фиолетовым цветом. При выборе комментария в области комментариев записная книжка прокрутится до ячейки, содержащей выделенный текст.
Комментарии сохраняются в метаданных ячейки кода.
Очистка записной книжки (предварительная версия)
В ходе создания записной книжки обычно образуются ячейки, используемые для просмотра или отладки данных. Функция сбора поможет вам создать чистую записную книжку без этих лишних ячеек.

- Выполните все ячейки записной книжки.
- Выберите ячейку, содержащую код, который должна запускать новая записная книжка. Например, код, который отправляет эксперимент, или код, регистрирующий модель.
- Нажмите значок Сбор, отображаемый на панели инструментов ячейки.
- Введите имя новой, «собранной» записной книжки.
Новая записная книжка содержит только ячейки кода, при этом все ячейки должны получать те же результаты, что и выбранная ячейка для сбора.
Сохранение записной книжки и создание контрольных точек
Машинное обучение Azure создает файл контрольных точек при создании IPYNB-файла.
На панели инструментов записной книжки выберите меню, а затем Файл>Сохранить и создать контрольные точки, чтобы вручную сохранить записную книжку и добавить файл контрольных точек, связанный с записной книжкой.

Записные книжки автоматически сохраняются каждые 30 секунд. Функция автосохранения обновляет только исходный IPYNB-файл, а не файл проверки.
Выберите Контрольные точки в меню записной книжки, чтобы создать именованную контрольную точку и вернуть записную книжку к сохраненной контрольной точке.
Экспорт записной книжки
На панели инструментов записной книжки выберите меню и нажмите Экспортировать как, чтобы экспортировать записную книжку как любой из поддерживаемых типов:

Экспортированный файл сохраняется на компьютере.
Запуск записной книжки или скрипта Python
Чтобы запустить записную книжку или скрипт Python, сначала подключитесь к выполняющемуся вычислительному экземпляру.
- Если у вас нет вычислительной операции, выполните следующие действия, чтобы создать ее:
- На панели инструментов записной книжки или скрипта справа от раскрывающегося списка «Вычислительная среда» нажмите + Создать вычислительную среду. В зависимости от размера экрана этот параметр может находиться в меню . .

- Присвойте имя вычислительной операции и выберите значение Virtual Machine Size (Размер виртуальной машины).
- Выберите Создать.
- Вычислительный экземпляр подключается к файлу автоматически. Теперь можно запускать ячейки записной книжки или скрипт Python, используя инструмент слева от вычислительного экземпляра.
- На панели инструментов записной книжки или скрипта справа от раскрывающегося списка «Вычислительная среда» нажмите + Создать вычислительную среду. В зависимости от размера экрана этот параметр может находиться в меню . .
- Если ваш вычислительный экземпляр остановлен, выберите Запустить вычислительную среду справа от раскрывающегося списка «Вычислительная среда». В зависимости от размера экрана этот параметр может находиться в меню . .

После подключения к вычислительному экземпляру используйте панель инструментов для запуска всех ячеек в записной книжке или control + ВВОД, чтобы запустить одну выбранную ячейку.
Только вы можете просматривать и использовать созданные вами вычислительные операции. Ваша папка User files (Файлы пользователя) хранится отдельно от виртуальной машины и является общей для всех вычислительных операций в рабочей области.
Изучение переменных в записной книжке
На панели инструментов записной книжки используйте Обозреватель переменных, чтобы отобразить имя, тип, длину и примеры значений для всех переменных, созданных в записной книжке.

Выберите инструмент, чтобы открыть окно обозревателя переменных.

Навигация с помощью оглавления
На панели инструментов записной книжки используйте инструмент Оглавление, чтобы отобразить или скрыть оглавление. Запустите ячейку Markdown с заголовком, чтобы добавить ее в оглавление. Выберите запись в таблице, чтобы прокрутить эту ячейку в записной книжке.

Изменение среды записной книжки
С помощью панели инструментов записной книжки можно изменить среду, в которой выполняется записная книжка.
Эти действия не изменят состояние записной книжки или значения каких-либо переменных в записной книжке:
| Действие | Результат |
|---|---|
| Остановка ядра | Все выполняемые ячейки останавливаются. При выполнении ячейки ядро автоматически перезапускается. |
| Переход в другой раздел рабочей области | Выполняемые ячейки останавливаются. |
Эти действия сбрасывают состояние записной книжки и все переменные в записной книжке.
| Действие | Результат |
|---|---|
| Изменение ядра | Записная книжка использует новое ядро. |
| Переключение вычисления | Записная книжка автоматически использует новое вычисление. |
| Сброс вычисления | Повторный запуск при попытке выполнить ячейку. |
| Остановка вычисления | Ячейки не выполняются. |
| Открытие записной книжки в Jupyter или JupyterLab | Записная книжка открывается на новой вкладке. |
Добавление новых ядер
Используйте терминал для создания и добавления новых ядер в вычислительный экземпляр. Записная книжка автоматически находит все ядра Jupyter, установленные на подключенном вычислительном экземпляре.
Используйте раскрывающееся меню ядра справа, чтобы перейти на любое из установленных ядер.
Управление пакетами
Так как вычислительный экземпляр имеет несколько ядер, убедитесь, что используются %pip или %conda волшебные функции, которые устанавливают пакеты в текущее работающее ядро. Не используйте !pip или !conda не относится ко всем пакетам (включая пакеты за пределами запущенного ядра).
Индикаторы состояния
Индикатор рядом с раскрывающимся списком Compute (Вычисление) отображает его состояние. Состояние также отображается в самом раскрывающемся списке.
| Color | Состояние вычисления |
|---|---|
| Зеленый | Вычисление выполняется |
| Красный | Сбой при вычислении |
| Черный | Вычисление остановлено |
| Голубой | Создание, запуск, перезапуск, настройка вычисления |
| Серый | Идет процесс удаления или остановки вычисления |
Индикатор рядом с раскрывающимся списком Kernel (Ядро) отображает его состояние.
| Color | Состояние ядра |
|---|---|
| Зеленый | Ядро подключено, неактивно или занято |
| Серый | Ядро не подключено |
Сведения о вычислениях
Сведения о вычислительных операциях см. на странице Compute (Вычисления) в Студии.
Полезные сочетания клавиш
Аналогично Jupyter Notebook, Студия машинного обучения Azure записные книжки имеют модальный пользовательский интерфейс. Клавиатура выполняет разные действия в зависимости от того, в каком режиме находится ячейка записной книжки. Студия машинного обучения Azure записные книжки поддерживают следующие два режима для заданной ячейки кода: режим команд и режим редактирования.
Сочетания клавиш для режима команд
Ячейка находится в командном режиме, если текстовый курсор не запрашивает ввод. Когда ячейка находится в режиме команд, вы можете редактировать записную книжку целиком, но не вводить ее в отдельные ячейки. Войдите в режим команд, нажав ESC или щелкнув за пределами области редактора ячейки с помощью мыши. Левая граница активной ячейки — синяя и сплошная, а кнопка Запуск — синяя.

| Ярлык | Description |
|---|---|
| ВВОД | Ввод режима редактирования |
| SHIFT + ВВОД | Запуск ячейки, выбор следующей |
| CTRL/CMD+ВВОД | Запустить ячейки |
| ALT + ВВОД | Запуск ячейки, вставка ячейки кода ниже |
| CTRL/CMD + ALT + ВВОД | Запуск ячейки, вставка ячейки Markdown ниже |
| ALT + R | Запустить все |
| Y | Преобразование ячейки в код |
| M | Преобразование ячейки в Markdown |
| ВВЕРХ/K | Выбор ячейки выше |
| ВНИЗ/J | Выбор ячейки ниже |
| А | Вставка ячейки кода выше |
| Б | Вставка ячейки кода ниже |
| CTRL/CMD + SHIFT + A | Вставка ячейки Markdown выше |
| CTRL/CMD + SHIFT + B | Вставка ячейки Markdown ниже |
| X | Вырезание выбранной ячейки |
| C | Копирование выбранной ячейки |
| SHIFT + V | Вставка выбранной ячейки выше |
| V | Вставка выбранной ячейки ниже |
| D D | Удаление выбранной ячейки |
| O | Переключить выходные данные |
| SHIFT + O | Переключение прокручивания выходных данных |
| I I | Прерывание ядра |
| 0 0 | Перезапуск ядра |
| SHIFT + ПРОБЕЛ | Прокрутка вверх |
| Space | Прокрутка вниз |
| TAB | Переход фокуса на следующий фокусируемый элемент (при отключенной ловушке фокуса) |
| CTRL/CMD + S | Сохранение записной книжки |
| 1 | Изменение на h1 |
| 2 | Изменение на h2 |
| 3 | Изменение на h3 |
| 4 | Изменение на h4 |
| 5 | Изменение на h5 |
| 6 | Изменение на h6 |
Сочетания клавиш режима правки
Режим правки обозначается текстовым курсором для ввода текста в области редактора. Когда ячейка находится в режиме правки, можно ввести текст в ячейку. Введите режим редактирования, нажав Enter или выберите область редактора ячейки. Левая граница активной ячейки — зеленая и пунктирная, а кнопка Запуск — зеленая. Вы также видите курсор в ячейке в режиме редактирования.

С помощью приведенных ниже сочетаний клавиш вы можете легче перемещаться и выполнять код в записных книжках Машинного обучения Azure в режиме правки.
| Ярлык | Description |
|---|---|
| ESCAPE | Вход в режим команд |
| CTRL/CMD + ПРОБЕЛ | Активация IntelliSense |
| SHIFT + ВВОД | Запуск ячейки, выбор следующей |
| CTRL/CMD+ВВОД | Запустить ячейки |
| ALT + ВВОД | Запуск ячейки, вставка ячейки кода ниже |
| CTRL/CMD + ALT + ВВОД | Запуск ячейки, вставка ячейки Markdown ниже |
| ALT + R | Выполнение всех ячеек |
| Up | Перемещение курсора вверх или в предыдущую ячейку |
| Down | Перемещение курсора вниз или в следующую ячейку |
| CTRL/CMD + S | Сохранение записной книжки |
| CTRL/CMD + стрелка вверх | Переход к началу ячейки |
| CTRL/CMD + стрелка вниз | Передох к концу ячейки |
| TAB | Завершение кода или отступ (если включена ловушка фокуса) |
| CTRL/CMD + M | Включение или отключение ловушки фокуса |
| CTRL/CMD + ] | Отступ |
| CTRL/CMD + [ | Понижение уровня |
| CTRL/CMD + A | Выделить все |
| CTRL/CMD + Z | Отмена |
| CTRL/CMD + SHIFT + Z | Вернуть |
| CTRL/CMD + Y | Вернуть |
| CTRL/CMD + HOME | Переход к началу ячейки |
| CTRL/CMD + END | Передох к концу ячейки |
| CTRL/CMD + стрелка влево | Переход на одно слово влево |
| CTRL/CMD + стрелка вправо | Переход на одно слово вправо |
| Control/Command + BACKSPACE | Удаление слова перед |
| CTRL/CMD + DELETE | Удаление слова после |
| CTRL/CMD + / | Переключение комментария в ячейке |
Устранение неполадок
- Подключение к записной книжке. Если вы не можете подключиться к записной книжке, убедитесь, что связь с веб-сокетом не отключена. Для использования функциональности Jupyter экземпляра вычислительных ресурсов необходимо включить связь через веб-сокет. Убедитесь, что сеть разрешает подключения через веб-сокеты к *.instances.azureml.net и *.instances.azureml.ms.
- Частная конечная точка. При развертывании вычислительного экземпляра в рабочей области с частной конечной точкой доступ к нему можно получить только из виртуальной сети. Если вы используете пользовательский ФАЙЛ DNS или узлов, добавьте запись для < имени >экземпляра .< регион >.instances.azureml.ms с частным IP-адресом частной конечной точки рабочей области. Дополнительные сведения см. в статье о пользовательской DNS.
- Сбой ядра: если ядро разбилось и было перезапущено, можно выполнить следующую команду, чтобы просмотреть журнал Jupyter и узнать дополнительные сведения: sudo journalctl -u jupyter Если проблемы с ядром не исчезли, рекомендуется использовать вычислительный экземпляр с большим объемом памяти.
- Ядро не найдено или Операции ядра отключены. Такая ошибка может возникнуть при использовании ядра Python 3.8 по умолчанию в вычислительном экземпляре. Для ее исправления можно использовать один из следующих методов.
- Создание нового вычислительного экземпляра. Будет использован новый образ, в котором эта проблема была устранена.
- Используйте ядро Py 3.6 в существующем вычислительном экземпляре.
- В терминале в среде py38 по умолчанию запустите pip install ipykernel==6.6.0 ИЛИ pip install ipykernel==6.0.3
Следующие шаги
- Выполнение первого эксперимента
- Резервное копирование хранилища файлов с помощью моментальных снимков
- Работа в безопасных средах
Как легко оптимизировать Jupyter Notebook. Часть 1

Самое классное в технологиях— это множество людей, которые усердно трудятся для улучшения нашей жизни. Каждый день они кровью и потом создают инструменты, упрощающие нашу работу.
Вам, к примеру, может казаться, что одной установки и запуска Jupyter Notebook вполне достаточно. Если все заработало, то и отлично! Но вы вряд ли знаете, что существует множество способов по настройке этой оболочки. А установка программы или пакета — это всего лишь начало!
Почему бы не потратить пару минут на то, чтобы сделать свой Jupyter Notebook удобнее для работы: быстрее, круче, мощнее и даже интереснее?

Восстановить основную тему можно через
jt -r
Вот здесь можно найти GitHub-репозиторий jupyterthemes.
Основные команды
- Список горячих клавиш доступен из палитры команд, которая открывается по нажатию Ctrl + Shift + P или Cmd + Shift + P . Появившееся диалоговое окно очень похоже на Spotlight Search в Mac и позволяет выполнять команды по названию. Это очень удобно, если вы не знаете нужного сочетания клавиш.

- Shift + Enter запускает текущую ячейку;
- Esc открывает командный режим. Переходить по блокноту можно с помощью клавиш со стрелками.
В командном режиме можно пользоваться следующими клавишами:
- A — добавляет новую ячейку над текущей;
- B — добавляет новую ячейку под текущей;
- M — изменяет текущую ячейку на Markdown;
- Y — возвращает к ячейке с кодом;
- D + D — удаляет текущую ячейку (двойное нажатие клавиши);
- Enter — переход из командного режима в режим редактирования.
- Shift + Tab — показывает документацию для объекта, который вы только что добавили в ячейку кода (продолжайте нажимать эти клавиши для переключения между режимами);
- Esc + F — помогает найти и заменить информацию в коде (кроме выходных значений);
- Esc + 0 — переключает вывод ячеек;
- Shift + J или Shift + Down — выделяет ячейку ниже текущей. Shift + K или Shift + Up выделяет ячейку выше текущей. После выделения (выбора) ячеек можно выполнять пакетное удаление/копирование/вырезание/вставку/запуск. Это очень удобно, если нужно перенести часть документа.
- Shift + M — объединяет несколько ячеек (простой клик по нужным ячейкам ничего вам не даст. Для объединения ячеек их следует выделять с зажатым Shift , а затем, не отпуская Shift , нажать M ).
- В Jupiter Notebook можно запускать bash-команды. Для этого добавьте в начало строки восклицательный знак. Например: !pip install numpy
- Вы можете подавить вывод функции в последней строке кода, добавив в конце этой строки точку с запятой.
Комментирование/ удаление комментариев в блоках кода
Возможно, в процессе работы вам захочется добавить новые строки кода или закомментировать старые. Это весьма полезно при отладке и улучшении производительности кода.
Для добавления комментариев в код выделите нужные строки и нажмите cmd + / .
LaTex
Если напечатать LaTex в Markdown-ячейке, то она отобразится в виде формулы.
LaTex заменяет это:
$P(A \mid B) = \frac
$

Вывод всех значений ячейки
Как правило, в ячейке отображается только последний вывод. Для всего остального нужно прописывать print() . В принципе, ничего сложного, но это не всегда удобно. Изменить ситуацию можно, добавив вверху блокнота следующее:
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = “all”Несмотря на то, что по умолчанию выводится только последний результат:

… вы увидите их все!

Если захотите вернуться к обычному представлению, то выполните следующее:
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = “last_expr”Обратите внимание, что запускать команду для изменения настроек необходимо в отдельной ячейке. Тогда изменения вступят в силу при следующем выполнении ячейки.
Расширения
Jupyter Notebook — это веб-приложение с открытым кодом, поэтому для него написано множество расширений. Все поддерживаемые расширения можно найти в официальном списке iPython-расширений или популярной подборке расширений.
Установить Nbextensions из командной строки довольно просто.
С помощью pip:
pip install jupyter_contrib_nbextensions jupyter contrib nbextension install — userили Anaconda:
conda install -c conda-forge jupyter_contrib_nbextensions conda install -c conda-forge jupyter_nbextensions_configurator jupyter contrib nbextension install — userСразу после их установки вы увидите вкладку Nbextensions. Пользуйтесь на здоровье!

В самом Jupyter Notebook детально описано, как добавлять, включать и работать с расширениями. Кликните по Nbextensions вверху экрана, нажмите на нужное расширение, пролистайте информацию о нем и посмотрите GIF-файл с его возможностями.
Популярные расширения
- Scratchpad — очень классное расширение. Генерирует временные ячейки для выполнения быстрых вычислений без создания новой ячейки в рабочей книге. Отлично экономит время!
- Hinterland — добавляет меню автозаполнения кода в ячейке для каждого нажатия клавиши, а не только для клавиши Tab.
- Snippets — добавляет выпадающее меню для включения ячеек с фрагментами кода (сниппетами) в текущий блокнот.
- Autopep8 — автоматически форматирует Python-код в соответствии с руководством по оформлению кода PEP 8. Это очень удобно! Проследите, чтобы на локальной машине была выполнена команда pip install autopep8 — user . Так вы точно будете следовать правильным соглашениям по написанию кода на Python.
- Split Cells Notebook — позволяет разделять ячейки в Jupyter Notebook. Перейдите в командный режим, а затем с помощью Shift + S переключайтесь между полноразмерной или разделенной ячейкой.
- Table of Contents — собирает все выполняемые заголовки и отображает их в плавающем окне, в формате боковой панели или в меню навигации.
- A Code Prettifier — подчищает, форматирует и проставляет отступы за вас.
- Notify — отображает уведомления на рабочем столе при простое ядра. Особенно удобно, если выполняется код, на завершение которого уходит более пары секунд.
- Code Folding — в режиме редактирования добавляет иконку-треугольник для скрытия кода. Удобно при длинных функциях, которые лучше скрыть для читабельности.
- Zen mode — убирает все лишнее. Проверьте, что отключили фоны в настройках.
- Поиск и устранение утечек памяти в Python
- Code Review — Полное руководство
- Руководство по написанию чистого и читабельного кода для начинающих разработчиков. Часть 1
- ТЭГИ
- Artificial Intelligence
- Data Science
- Jupyter
- Machine Learning
- Python
