В чем разница между Jupyter Notebook и JupyterLab?
Jupyter Notebook и JupyterLab — это две различные вычислительные среды для работы с документами Jupyter. Обе среды поддерживают несколько языков, включая Python (IPython), Julia, R и другие. Они используются в основном для анализа данных, их визуализации и интерактивных исследовательских вычислений.
Jupyter Notebook представляет собой веб-интерактивную вычислительную среду, где можно создавать блокноты. Внутри браузера вы можете открывать, редактировать и запускать ячейки кода, а также добавлять текст, изображения и графики. Он предоставляет простой и интуитивно понятный интерфейс для начинающих.
JupyterLab, с другой стороны, является следующим поколением пользовательского интерфейса, который также включает блокноты, но имеет более расширенные возможности. Он имеет модульную структуру, позволяющую открывать несколько блокнотов или файлов различных типов (например, HTML, Text, Markdown) в виде вкладок в одном окне. Это делает его более похожим на работу с интегрированной средой разработки (IDE).
Для начинающих рекомендуется начать с Jupyter Notebook, поскольку он предоставляет простой интерфейс с возможностью работы в браузере. Если вам нужны дополнительные функции и расширенный интерфейс, вы можете перейти на JupyterLab. JupyterLab предлагает больше возможностей и его интерфейс может быть расширен с помощью дополнений, таких как JupyterLab Extensions (расширения JupyterLab), доступные на GitHub.
Ipynb — кто это и с чем его есть?

Jupyter-ноутбук — это среда разработки, где сразу можно видеть результат выполнения кода и его отдельных фрагментов. Отличие от традиционной среды разработки в том, что код можно разбить на куски и выполнять их в произвольном порядке. Представьте, что вы можете написать кусочек кода на салфетке и сказать салфетке: «Выполнись».
Немного объясню по подробнее, jupyter notebook это своего рода python, только модифицированный. Представьте, что Вам нужно на основе результатов предикта построить график, или допустим у Вас есть какая-та модель, и на основе её надо построить график в matplotlib или seoborn. Если база данных большая, то что бы изменить какую-лиюо строчку, или слой в модели и заново все просчитать потребуется много времени. С ipynb же вы можете загрузить допустим датасет один раз, и дальше не делать это повторно при рестарте кода. Здорово же!)
Как открывать и где писать код .ipynb
Существует множество редакторов для формата ipynb, но зачастую подготовка к кодингу занимает много времени, я же предлагаю воспользоваться Visual Studio Code.

Я думаю многие знакомы с такой программой как Vs code. Лично я был приверженец PyCharm, и к Vs относился не очень, но когда я первый раз попробовал покодить в ней , я сразу понял, что буду делать это в ней всегда)
Кто не знает или не работал с Vs, установить ее можно по этой ссылке.
Дальше следует установить python и подключить его к vs.
Когда у нас есть vs с подключенным python мы можем приступить к скачиванию jupyter notebook. Сделать это можно перейдя к вкладке Extensions в панели слева или нажав Ctrl+Shift+X


Там будет поле поиска в которое нужно забить слово Jupyter. Из всех плагинов надо выбрать этот. И нажать Install. Собственно все) Теперь надо лишь дождаться уведомления о том, что плагин скачен.
Самое интересное. Начало кодинга
Я буду использовать датасет про уровень счастья в разных годах и странах, и уровень доллара.
Для начала нам нужно создать новый файл с расширением .ipynb. Открыть его, и мы увидим это.

Для начала пропишем подключение библиотек — мне понадобятся эти

pandas — для загрузки csv датасета
остальное для получения красивых графиков
По нажатию на зеленый треугольник мы загрузим эти библиотеки, тут и начинается магия jupyter. Мы импортируем библиотеки, и все мы больше не должны тратить на это время.
Дальше с помощью не хитрых функций seaborn, matplotlib мы получаем вот такие графики —




Но вся прелесть не только в этом, в итоге мы получаем файл с кодом и картинками в нем! Теперь если мы хотим выложить это на гитхаб у нас будут красивый код с картинками


2-я часть выйдет скоро, она будет про дополнительную библиотеку Ipython.
Jupyter Notebook
Jupyter Notebook (Юпитер-ноутбук) — это программа-блокнот для записи, передачи и запуска кода. Ей можно пользоваться как своеобразной средой разработки. Она существует как веб-сервис, то есть доступна через интернет и позволяет передавать код другим разработчикам.

«IT-специалист с нуля» наш лучший курс для старта в IT
Чаще всего среду используют для Python, но она существует и для других языков программирования. Jupyter Notebook поддерживает языки Ruby, Perl, R, MATLAB, Julia и другие. Часто это специализированные языки для задач, которые подразумевают быстрое написание и выполнение маленькой программы.
Отличие Юпитер-ноутбука от традиционных сред разработки — в его интерактивности. Программа позволяет запускать отдельные участки и блоки кода, выполнять их в любом порядке. А результаты работы сразу можно вывести в то же окно рядом с кодом.
Юпитер-ноутбуками во множественном числе называют документы с кодом, созданные в среде.
Профессия / 8 месяцев
IT-специалист с нуля
Попробуйте 9 профессий за 2 месяца и выберите подходящую вам

Кто пользуется Jupyter Notebook
Чаще всего с юпитер-ноутбуками работают программисты на Python. Так сложилось исторически: проект вырос из IPython, особого расширения для «Питона», хотя сейчас у платформы есть поддержка и для других языков.
Основные сферы использования среды — big data и data science, машинное обучение, математическая статистика и аналитика. В этих направлениях пригодилась способность Jupyter Notebook выводить данные туда же, где написан код. Получается как бы страница блокнота: в одном месте собраны участки кода, результаты их выполнения, таблицы, участки и графики.
Но попробовать Jupyter Notebook для своих проектов можно и вне этой сферы. Если ваша отрасль подразумевает частую работу с документами и графиками, возможно, вам понравится эта среда.
Для чего нужен Jupyter Notebook
- Писать код в специальной среде с подсветкой синтаксиса, исправлением ошибок и другими возможностями IDE.
- Запускать разные участки кода в произвольной последовательности или написанную программу целиком.
- Загружать какие-то данные, обрабатывать и преобразовывать их, не затрагивая при этом другие участки программы.
- Вставлять и выводить результаты, включая визуализацию, прямо посреди кода.
- Делиться кодом с другими разработчиками и давать им общий доступ к проекту.
- Организовывать командную работу, когда у каждого программиста — своя задача, связанная с другими.
- Писать сопровождающий текст и оформлять «документ» так, чтобы он выглядел красиво и понятно.
Юпитер-ноутбук дает те же возможности, что стандартная IDE, но при этом он более гибкий и, как говорят его создатели, документоцентричный. То есть все написанное выглядит как документ и собрано в одном месте.
Две версии программы
Jupyter Notebook существует в двух версиях: облачная и для компьютера. Обе бесплатные, с открытым исходным кодом. Облачной версией можно пользоваться прямо через браузер. Нужно только подключение к интернету: принцип работы у нее как, например, у Google Документов.
Локальная версия дает возможность работать с редкими библиотеками, которых может не быть в облаке. К тому же на отдельном компьютере среда способна работать быстрее, а у разработчика больше контроля.
Для загрузки локальной версии понадобится Python и установленный в него пакет Jupyter. Его можно скачать через консоль с помощью встроенной в Python утилиты pip. А еще Юпитер-ноутбук входит в состав расширения Anaconda.
Скачанные пакеты запустят локальный Jupyter-сервер, и интерфейс среды откроется в браузере. Им можно пользоваться на свое усмотрение, но доступа к облаку у локального сервера нет.
Как выглядит работа с Jupyter Notebook
Интерфейс программы похож одновременно на текстовый редактор и среду разработки. Можно представить Юпитер-ноутбук как документ с возможностью писать и выполнять код. Там есть инструменты и для форматирования самого документа, и для запуска или отладки программ.
Программирование. Если разработчик пишет на Python, он может просто создать файл и начать программировать, как в обычной среде. Для подключения других языков понадобится воспользоваться специальными командами — их называют магическими. Магическая команда выглядит как %% и переключает среду на указанный язык. Так можно подключить даже bash, консольный язык команд для операционных систем.
Код в Юпитер-ноутбуке разделен на отдельные участки — блоки. Каждый блок можно запускать отдельно от других. Между блоками может находиться текст, графика, результаты выполнения кода и так далее. Получается своеобразный интерактивный документ — одновременно программа и текстовый файл.
Тексты. Кроме написания кода, в Юпитер-ноутбуке можно писать текст. Это не просто комментарии: в среде есть возможности для создания полноценной интерактивной статьи с кодом. Jupyter Notebook поддерживает разметку Markdown, которая позволяет создавать заголовки и списки, добавлять интерактивные ссылки и делать многое другое.
Так можно создавать аналитические отчеты, статьи и интерактивные параграфы для учебников. Поэтому Jupyter Notebook любят в аналитике данных и статистике, где часто бывают нужны точные отчеты и визуализации с результатами.

Курс для новичков «IT-специалист
с нуля» – разберемся, какая профессия вам подходит, и поможем вам ее освоить
Графика. Картинки, графики и визуализацию можно добавлять как в текстовый документ. Кроме того, Юпитер-ноутбук поддерживает математические формулы. Графику можно выводить интерактивно: запускать блоки кода, чтобы они отрисовали нужную визуализацию. Результат последнего запуска не сотрется после выхода: он останется в документе, его смогут просмотреть другие люди или сам владелец, когда в следующий раз откроет ноутбук.
Для визуализации Jupyter Notebook использует библиотеки языков. Например, графики для Python чаще всего рисуются через Matplotlib. Юпитер-ноутбук поддерживает и другие расширения для визуализации, в том числе в интерактивном режиме. Правда, некоторые из них платные или медленные.
Запуск. В Jupyter Notebook, как и в любой IDE, можно запустить код. Отличие в том, что результаты показываются сразу и отображаются в том же документе. Для запуска есть специальная панель с кнопками: запустить, остановить, отладить и так далее.
Если код работает не так, можно переписать его и запустить снова. Выведенный в документ результат при этом изменится. Когда все будет готово, можно сохранять файл и выходить: при следующем входе все результаты будут на месте и код не понадобится запускать заново.
Сохранение и общий доступ. В случае с локальной версией файлы сохраняются на устройстве. К облачной понадобится подключить хранилище, в котором будут лежать созданные ноутбуки. Чаще всего пользуются Google Colab — ответвлением Google Drive для разработки и исследований. Возможности Colab позволяют запускать код в браузере, сохранять документы и делиться ими.
Для документа в облаке можно настроить общий доступ, чтобы его могли увидеть другие специалисты. Это удобно, например, при создании отчетов или при командной разработке.
Другие проекты
Есть еще одна версия среды-блокнота от тех же разработчиков, она называется Jupyter Lab. У нее несколько иной интерфейс и похожий принцип работы. Ее позиционируют как улучшенную версию Юпитер-ноутбука, которая позволяет «собирать» вместе несколько рабочих задач.
Для того чтобы делиться кодом с командой, есть JupyterHub — проект, который позволяет запустить собственный юпитер-сервер и дать к нему доступ другим людям.
Google Colab тоже можно использовать как интерактивный блокнот, это не только хранилище. Но у Jupyter Notebook шире возможности для разработчиков.
Преимущества Jupyter Notebook
Наглядность. Все находится в одном месте: код, сопровождающий текст, результаты и визуализация. Поэтому нужная информация всегда под рукой, а оформить ее можно в понятном формате. При этом Юпитер — полноценная среда, в которой можно запускать код и проверять его.
Документоориентированность. Это преимущество связано с наглядностью. Юпитер-ноутбук выглядит как документ: глава из книги, отчет или что-то еще. Благодаря такому отображению с его помощью можно создавать отличные интерактивные документы по работе или для обучения. Например, отчет, который при запуске кода сам рисует график, или учебник, демонстрирующий работу программы прямо на страницах.
Широкие возможности. Jupyter Notebook мощный и гибкий. В нем все шире поддержка разных языков, в том числе специфических, есть нужные разработчику библиотеки. Облачная версия предоставляет мощности для отрисовки графиков — их тоже можно визуализировать с помощью разных инструментов. Markdown позволяет делать документы красивее и форматировать их. Есть и другие расширения: для создания презентаций, экспортирования документов в HTML и прочих функций.
Моментальный вывод результата. Результат выполненной программы в стандартной IDE открывается в отдельном окне или записывается в файл. В любом случае его довольно редко бывает можно просмотреть внутри среды, если это не текст и не число, а, скажем, график или таблица. А в Jupyter Notebook все отображается сразу под кодом, в том же документе. Удобно и, главное, видно сразу.
Командная работа. Возможности для командной работы позволяют делиться документом с другими, запускать собственный сервер для группы разработчиков, совместно редактировать и исправлять ошибки. Все это в одной и той же версии документа, а не в разных его экземплярах (как было бы, например, с передачей друг другу файлов с кодом).
Недостатки Jupyter Notebook
Неуниверсальность. Если вам нужно только писать код, а тексты и графики ни к чему, Юпитер-ноутбук может оказаться попросту избыточным решением. К тому же он не подходит для крупных проектов, где все связано между собой. Он рассчитан на написание и выполнение отдельных маленьких «кусочков» программы, а не ее целиком. Держать там целый большой продукт будет неудобно как в отладке, так и в запуске.
Сложный перенос. Переносить код из Jupyter Notebook в другие среды — не самая простая задача все из-за той же структуры, основанной на маленьких блоках. Просто скопировать не получится. Нужно будет удалить лишнее и переписать часть кода.
Поэтому Jupyter Notebook не рекомендуют как основную среду, особенно для больших проектов. Но это удобный вспомогательный инструмент.
IT-специалист с нуля
Наш лучший курс для старта в IT. За 2 месяца вы пробуете себя в девяти разных профессиях: мобильной и веб-разработке, тестировании, аналитике и даже Data Science — выберите подходящую и сразу освойте ее.

Статьи по теме:
- Как научиться работе с данными самостоятельно на Python
- Что такое Google Colab и кому он нужен
Что такое jupyter-ноутбук и зачем он нужен
Если вы хотите писать на Python или заниматься дата-сайенсом, вот классная штука для вас. Это уже, считай, стандарт для огромного числа питонистов, наслаждайтесь.
Что такое jupyter-ноутбук
Jupyter-ноутбук — это среда разработки, где сразу можно видеть результат выполнения кода и его отдельных фрагментов. Отличие от традиционной среды разработки в том, что код можно разбить на куски и выполнять их в произвольном порядке. Представьте, что вы можете написать кусочек кода на салфетке и сказать салфетке: «Выполнись».
В такой среде разработки можно, например, написать функцию и сразу проверить её работу, без запуска программы целиком. А ещё можно поменять порядок выполнения кода. Можно отдельно загрузить файл в память, отдельно проверить его содержимое, отдельно обработать содержимое.
А ещё в jupyter-ноутбуках есть вывод результата сразу после фрагмента кода. Например, можно прямо в середине кода увидеть построенный график, получить предварительные цифры или любую другую визуализацию.
Какие языки поддерживаются
Чаще всего, когда говорят о jupyter-ноутбуках, имеют в виду работу с Python. Но на самом деле можно работать и с другими:
Для этого используют специальные магические команды, которые так и называются — magic-команды. Они позволяют запускать код на других языках, а ещё существенно расширяют возможности обычного Python. Про эти команды мы поговорим в отдельной статье.
Ноутбук в облаке
Jupyter-ноутбуки запускаются на компьютере или в облаке.
Проще всего начать работать с ноутбуком в облаке, например Google Colab. Это значит, что вам достаточно запустить браузер и открыть нужную страницу. После этого облачная система выделит для вас ресурсы и позволит выполнять любой код.
Плюс подхода в том, что вам не нужно ничего устанавливать на компьютер — облако всё берёт на себя, а вы просто пишете и запускаете код.
Минус — программа может работать не так быстро, как на локальной машине. Ещё если вам нужны какие-то экзотические библиотеки, в облаке их может не оказаться.


Ноутбук на компьютере
Если вы сами хотите контролировать всё, что происходит с кодом и со средой разработки, тогда нужно установить jupyter-ноутбук себе на компьютер.
Так как основная среда в таком ноутбуке — это Python, то для работы у вас уже должен быть установлен Python, после сам ноутбук ставится так:
pip3 install jupyter
После установки ноутбук готов к запуску:
Эта команда откроет браузер, запустит локальный сервер для работы ноутбука и покажет нам готовую среду разработки:

Альтернативный способ — установить «Анаконду», и там будет всё: и Python, и Jupyter, и куча других нужных и полезных инструментов.
Как работать с ноутбуком
Самый простой способ — писать в нём код и сразу видеть, что получается после запуска. Например, возьмём код из статьи про рулетку и казино, вставим его в ноутбук и запустим. Ноутбук сразу же после кода покажет все данные и нарисует график:


Где применяются jupyter-ноутбуки
Основная область применения ноутбуков — машинное обучение, нейросети, визуализация данных и статистика.
Ещё такую среду часто используют для поэтапной разработки, когда нужно по шагам проверять работу разных фрагментов кода. Дело в том, что код в ноутбуках хранится в независимых ячейках и его можно запускать в любом порядке или поодиночке. Это позволяет быстро экспериментировать с алгоритмами и находить оптимальное решение.
Также jupyter-ноутбуки используются при обучении программированию на Python, чтобы писать код и сразу видеть результат его работы.
Что дальше
В следующий раз освоим ноутбуки на практике — сделаем свой ноутбук с красивыми графиками и блоками кода.
Апскиллинг, как говорится
Апскиллинг — это, например, переход с уровня junior на уровень middle, а потом — senior. У «Яндекс Практикума» есть курсы ровно для этого: от алгоритмов и типов данных до модных фреймворков.

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.