5 советов по работе с Jupyter, которые упростят вам процесс программирования

5 советов по работе с Jupyter, которые упростят вам процесс программирования

Jupyter Notebook - одна из самых востребованных IDE практически для всех задач программирования, ориентированных на Python, таких как Data Science, машинное обучение, научные вычисления и д.р.

Возможности интерактивного кодирования делают её незаменимым инструментом не только для начинающих разработчиков, но и для экспертов.

Тем не менее, несмотря на широкое эксплуатирование данной IDE, многие пользователи не используют её в полной мере.

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

Поэтому в этой статье я представлю 5 крутых возможностей Jupyter, о существовании которых вы, вероятно, даже не подозревали.

#1 Прекратите предварительный просмотр необработанных фреймов данных

Часто, когда мы загружаем фрейм данных в Jupyter, нам хочется увидеть его предварительную версию. Она показана ниже:

df
5 советов по работе с Jupyter, которые упростят вам процесс программирования

Однако, глядя на неё, мы вряд ли поймём, что находится внутри этих данных.

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

Вместо этого используйте Jupyter-DataTables. Вы можете установить его следующим образом:

pip install jupyter-datatables

Чтобы использовать его, запустите следующий код в Jupyter:

from jupyter_datatables import init_datatables_mode init_datatables_mode()

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

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

Этот расширенный предварительный просмотр обеспечивает сортировку, фильтрацию, экспорт и разбивку на страницы, а также распределение по столбцам и типам данных

#2 Обозначьте свои данные одним нажатием кнопки

Не все данные, которые вы получаете, являются маркированными заранее.

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

Вместо того, чтобы предварительно просматривать файлы извне и помечать их или создавать сложный конвейер аннотаций, вы можете создавать аннотации всего в нескольких строках кода, используя 𝐢𝐩𝐲𝐚𝐧𝐧𝐨𝐭𝐚𝐭𝐞.

Он предоставляет виджет Jupyter специально для аннотации данных.

Выполните следующие команды, чтобы установить его:

pip install ipyannotate jupyter nbextension enable --py --sys-prefix ipyannotate

Аннотирование данных становится проще при использовании кнопок. Таким образом, ipyannotate позволяет вам присоединять метки данных к кнопкам.

Предположим, у нас есть несколько изображений кошек и собак (без маркировки). Мы можем создать конвейер аннотаций следующим образом:

Как показано выше, вы можете аннотировать свои данные, просто нажав соответствующую кнопку.

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

#3 Просмотр документации в Jupyter

Во время работы в Jupyter, люди часто забывают параметры функции и обращаются к официальным документам (или StackOverflow).

Однако, вы можете просмотреть документацию в самом IDE.

Нажатие 𝐒𝐡𝐢𝐟𝐭-𝐓𝐚𝐛 открывает панель документации. Это чрезвычайно полезно и экономит время, поскольку не нужно каждый раз открывать официальную документацию.

Демонстрация показана ниже:

Эта особенность также работает для ваших пользовательских функций.

#4 Получайте уведомление, когда Jupyter Cell закончит процесс выполнения

После запуска некоторого кода в ячейке Jupyter, мы часто переходим к выполнению какой-либо другой работы параллельно.

Приходится неоднократно возвращаться на вкладку Jupyter, чтобы проверить, был ли процесс выполнен или нет.

Чтобы избежать этого, вы можете использовать волшебную команду %%𝐧𝐨𝐭𝐢𝐟𝐲 из расширения 𝐣𝐮𝐩𝐲𝐭𝐞𝐫𝐧𝐨𝐭𝐢𝐟𝐲.

Как следует из названия, она уведомляет пользователя о завершении (как успешном, так и неуспешном) процесса Jupyter через уведомление браузера.

Чтобы установить её, выполните следующую команду:

pip install jupyternotify

Далее загрузите расширение:

%load_ext jupyternotify

И готово!

Теперь, всякий раз, когда вы хотите получать уведомления, введите следующую волшебную команду в верхней части ячейки:

%%notify ## YOUR CODE HERe

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

5 советов по работе с Jupyter, которые упростят вам процесс программирования

Нажав на уведомление, вы вернётесь на вкладку Jupyter.

#5 Очистите вывод ячеек в Jupyter во время выполнения

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

Однако становится неприятно, когда на панели вывода скопилась куча деталей, но нас интересуют только самые последние выходные данные.

Более того, прокрутка к нижней части выходных данных каждый раз тоже может раздражать.

Чтобы очистить выходные данные ячейки, вы можете использовать метод 𝗰𝗹𝗲𝗮𝗿_𝗼𝘂𝘁𝗽𝘂𝘁 из пакета 𝗜𝗣𝘆𝘁𝗵𝗼𝗻.

IPython поставляется с предустановленным Python, поэтому его установка не требуется.

Вы можете импортировать метод следующим образом:

from IPython.display import clear_output

При вызове он удалит текущий вывод ячейки, после чего вы сможете вывести последние сведения.

Демонстрация показана ниже:

Как показано выше, мы видим только последние выходные данные в ячейке. Предыдущие выходные данные удаляются.

Бонусный совет

Хотя вышеупомянутые советы значительно обогатят ваш опыт работы с Jupyter, есть ещё много вещей, которые я с трудом могу сделать с помощью этого IDE.

Например, Jupyter - отстой, когда дело доходит до совместной работы с кем-то. Поскольку он работает локально, в Jupyter невозможно встроить возможности совместной работы в режиме реального времени, где команды могли бы работать вместе, добавлять комментарии, отслеживать прогресс и т.д.

Более того, если мне когда-нибудь придётся поделиться с кем-то своим IDE, единственный способ сделать это - отправить ему электронное письмо или разместить его онлайн, например, на GitHub, и поделиться ссылкой.

Наконец, многие задачи в области Data Science не ограничиваются только Python. Они в равной степени связаны с SQL, который в основном используется для взаимодействия с организационными базами данных.

Однако интеграция SQL в Jupyter осуществима, но является утомительным процессом.

Решение

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

Без необходимости узнавать что-либо новое о том, как им пользоваться, он мгновенно устранил все ограничения Jupyter и неизменно предлагал мне весь свой функционал.

Совместное использование, совместная работа, использование SQL, создание диаграмм без какого-либо кода, подключение к базе данных и т.д. - всё это легко интегрируется в Deepnote.

Хотя я понимаю, что Jupyter стремится предложить обобщённый опыт для всех пользователей Python, он, к сожалению, не решает всех проблем специалистов по обработке данных, особенно тех, кто работает в командах.

Deepnote, на мой взгляд, - это улучшенная версия Jupyter для всех проектов, основанных на данных. Вам обязательно стоит её проверить.

Заключение

На этой ноте наша статья подходит к концу.

Поздравляем с изучением нескольких невероятных методов для Jupyter notebook! Я уверен, что они повысят вашу производительность при программировании на python.

Статья была взята из этого источника:

1
Начать дискуссию