10 советов и рекомендаций по работе с блокнотом Jupyter для исследователей данных

Раскройте весь потенциал Jupyter Notebook с помощью экспертных советов и методик, включая экономящие время ярлыки, мощные магические функции и расширенные возможности для повышения производительности.
Независимо от того, являетесь ли вы новичком или профессионалом в области обработки данных, вы наверняка пользовались блокнотом Jupyter Notebook и узнали, насколько просто выполнять код на Python и визуализировать результаты в формате отчета.
Но что, если я скажу вам, что вы можете улучшить свой опыт разработки в Jupyter? В этом посте мы узнаем о 10 советах по использованию Jupyter Notebook для повышения продуктивности и производительности специалистов по работе с данными.
1. Ярлыки клавиатуры
Клавиатурные сокращения важны для выполнения повторяющихся задач и экономии времени. Вы можете узнать обо всех сочетаниях клавиш, используемых по умолчанию, в разделе Справка > Сочетания клавиш или нажав клавишу H.
Самым простым и популярным способом быстрого доступа к командам является палитра команд, аналогичная VSCode. Вы можете нажать Ctrl + Shift + P, чтобы вызвать палитру команд. Она позволяет искать и выполнять команды или прокручивать все команды, чтобы найти ту, которую вы хотите запустить.

2. Магические команды IPython
Вы можете получить доступ ко всем командам IPython Magic в Jupyter Notebook. Эти команды дают вам дополнительные возможности при выполнении кода.
Например, вы можете использовать команду %%time Magic для отображения времени выполнения ячейки. В нашем случае выполнение 1000 итераций заняло 1,09 секунды.
%%time
import time
for i in range(1_000):
time.sleep(0.001)
CPU times: user 10.2 ms, sys: 1.68 ms, total: 11.9 ms
Wall time: 1.09 s
Вы можете узнать обо всех доступных командах Magic, выполнив команду %lsmagic или ознакомившись со встроенными командами Magic.
Список часто используемых команд:
- %env для установки переменных окружения.
- %run для выполнения кода Python.
- %store для доступа к переменным между несколькими блокнотами.
- %%time дает время выполнения ячейки.
- %%writefile сохраняет содержимое ячейки в файл.
- %pycat показывает содержимое внешнего файла.
- %pdb используется для отладки.
- %matplotlib inline для подавления вывода функции в последней строке.
3. Выполнение команд оболочки
Вы можете запускать команды Shell и Bash в ячейке Jupyter Notebook, используя !, как показано ниже. Это дает вам дополнительную возможность запускать команды и инструменты на базе Unix или Linux.
!git push origin
Наиболее популярное использование этой команды – установка пакетов Python на ходу.
!pip install numpy
Вы также можете установить пакеты Python с помощью команды Magic %pip
%pip install numpy
4. Использование LaTeX для формул
При создании отчета по анализу данных необходимо предоставить статистические или математические уравнения, а Jupyter Notebook позволяет выводить сложные уравнения с помощью формул Latex.
Просто создайте ячейку Markdown и заключите вашу формулу Latex в знак доллара $, как показано ниже.
$\int \frac{1}{x} dx = \ln \left| x \right| + C$
Выход:

5. Установка других ядер для Jupyter Notebook
Все мы знаем о ядре Python, но вы также можете установить другие ядра и запускать код на любом языке.
Например, если вы хотите запустить язык программирования R в Jupyter Notebook, вам нужно установить R и установить IRkernel в среде R.
install.packages('IRkernel')
IRkernel::installspec()
Или, если у вас установлена Anaconda, вы можете просто выполнить приведенную ниже команду в терминале, чтобы настроить R для Jupyter Notebook.
conda install -c r r-essentials
6. Запуск кода из другого ядра
Вы также можете запускать код из нескольких ядер в Python Jupyter Notebook с помощью команд Magic, например:
- %%bash
- %%html
- %%javascript
- %%perl
- %%python3
- %%ruby
В примере мы попытаемся выполнить HTML-код в ядре Python с помощью команды %%HTMLMagic.
%%HTML
<html>
<body>
<h1>Hello World</h1>
<p>Welcome to my website</p>
</body>
</html>
Выход:

Подобно !, вы можете запустить сценарий Shell с помощью %%script, который позволяет запускать все ядра, установленные на вашей машине. Например, вы можете запустить сценарий R.
%%script R --no-save
print("KDnuggets")
Выход:
> print("KDnuggets")
[1] "KDnuggets"
>
7. Поддержка мультикурсоров
Вы можете использовать несколько курсоров для редактирования нескольких переменных и синтаксиса или добавления нескольких строк кода. Чтобы создать несколько курсоров, нужно нажать и перетащить мышь, удерживая нажатой клавишу Alt.

8. Вывод изображений, видео и аудио
Вы можете отображать изображения, видео и аудио без установки дополнительных пакетов Python.
Достаточно импортировать IPython.display, чтобы получить функции отображения изображений, видео и аудио. Это очень полезно, когда вы работаете с неструктурированными наборами данных и приложениями машинного обучения.

9. Обработка больших данных
Вы можете обрабатывать и запрашивать большие наборы данных с помощью библиотеки IPython Parallel. Это коллекция сценариев CLI для управления кластерами процессов IPython, построенных на протоколе Jupyter.
Кроме того, вы можете использовать сессию PySpark с помощью команды sparkmagic.
Посмотрите пример из репозитория sparkmagic.
%%spark -c sql -o df_employee--maxrows 5
SELECT * FROM employee
Выход:
age name
0 40.0 abid
1 20.0 Matt
2 36.0 Chris
10. Совместное использование ноутбуков
Совместное использование отчетов или исходного кода с выводами очень важно, и вы можете сделать это несколькими способами
- Конвертируйте блокноты в файлы HTML с помощью команды Файл > Загрузить как > HTML.
- Сохраняйте блокноты в формате PDF с помощью Файл > Загрузить как > PDF.
- Сохраняйте блокноты в формате Markdown с помощью File > Download as > Markdown.
- Создавайте блоги с помощью Pelican.
- Загрузите файл .ipynb в Google Colab и поделитесь им с коллегами.
- Поделитесь файлом Блокнота с общественностью с помощью GitHub Gits.
- Разместить файл в облаке или на внешнем сервере и использовать nbviewer для визуализации Блокнота.
Я надеюсь, что мой список из 10 советов по работе с Jupyter Notebook был вам полезен. Если у вас есть дополнительные предложения или советы по Jupyter Notebook, которыми вы хотели бы поделиться, пожалуйста, не стесняйтесь упомянуть их в комментариях ниже. Спасибо за прочтение.