Что такое jupiter lab

Первые шаги в JupyterLab

Jupyter и JupyterLab используются специалистами по анализу данных, или специалистами Data Science, или дата-сатанистами, или аналитиками данных, или специалистами по машинному обучению (не знаю, как правильно называется специальность).

Установка JupyterLab

Я всё это выполняю в Debian. Для начала у вас должен быть уже установлен pip (специальная утилита для установки различных пакетов Python). Затем с его помощью устанавливаем JupyterLab:

После этого убедитесь, что каталог

/.local/bin содержится в переменной окружения PATH.

Если его там нет, то его туда нужно добавить:

А ещё лучше прописать это в “

.bashrc”., чтобы не пришлось каждый раз добавлять этот каталог в PATH перед запуском JupyterLab.

Краткий обзор JupyterLab

После этого можно запускать JupyterLab:

У вас откроется окно браузера, в котором мы и будем делать всё остальное.

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter labJupyterlab

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

JupyterLab умеет открывать огромное количество файлов. В моём случае у меня в рабочем каталоге лежат два файла: “face.png” и “pushkin.pdf”. Их можно открыть кликнув на них два раза.

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter labJupyterLab PNG file Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter labJupyterLab PDF file

Мы также можем создавать свои notebook-и. Внутри открывшейся в браузере среды кликните FileNewNotebook. В диалоговом окне выберите “Python 3” и кликните “SELECT”. В правой части JupyterLab появится новая вкладка “Untitled.ipynb”. Это и есть наш созданный notebook (не знаю, как переводить, лучше оставлю на английском)

Что такое notebook в Jupyter

Notebook в Jupyter — это файл с чередующимися ячейками, каждая из которых содержит либо markdown, либо программный код на Python.

Работа с notebook-ами в JupyterLab

Сам notebook выглядит примерно так:

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter labЯчейки в Jupyter notebook-ах

Обратите внимание на маркер текущей ячейки. Мы можем перемещаться между ячейками с помощью клавиш со стрелками. Для добавления ячейки перед текущей используйте клавишу “a”, для добавления ячейки после текущей используйте клавишу “b”. Удалить ячейку можно два раза нажав клавишу “d”. Остальные команды можно посмотреть в пункте “Edit” горизонтального меню.

Каждая ячейка содержит либо разметку Markdown, либо программный код Python. Вы можете менять тип текущей ячейки с помощью клавиш “y” (программный код) и “m” (Markdown).

Для примера давайте сделаем первую ячейку с простенькой разметкой Markdown. Для этого выберем её и с помощью клавиши “m” переключим её тип на разметку. Нажмите клавишу “Enter”, чтобы перейти в режим редактирования ячейки. Введите туда следующее содержимое:

Источник

Особенности Jupyter Notebook, о которых вы (может быть) не слышали

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

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

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

Jupyter поддерживает множество языков программирования и может быть легко запущен на любом сервере, необходим только доступ по ssh или http. К тому же это свободное ПО.

Основы

Список хоткеев вы найдете в Help > Keyboard Shortcuts (список периодически дополняется, так что не стесняйтесь заглядывать туда снова).

Отсюда можно получить представление о взаимодействии с блокнотом (notebook). Если вы будете постоянно работать c Jupyter, большинство комбинаций вы быстро выучите.

Экспорт блокнота

Простейший способ — сохранить блокнот в формате IPython Notebook (.ipynb), но так как их используют не все, есть и другие варианты:

Построение графиков

Есть несколько вариантов построения графиков:

Magic-команды

Магические команды (magics) превращают обычный python в магический python. Magic-команды — это ключ к могуществу IPython’а.

Можно управлять переменными среды для вашего блокнота без перезапуска Jupyter-сервера. Некоторые библиотеки (такие, как theano) используют переменные среды, чтобы контролировать поведение, и %env — самый удобный способ.

Выполнение shell-команд

В Notebook можно вызвать любую shell-команду. Это особенно удобно для управления виртуальной средой.

Подавление вывода последней строки

Иногда вывод не нужен, и в этом случае можно или использовать команду pass с новой строки, или поставить точку запятой в конце строки:

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

вызовет следующее всплывающее окно:

Используйте %run для выполнения кода на Python

Но эта команда может выполнять и другие блокноты из Jupyter! Иногда это очень полезно.

Обратите внимание, что %run — это не то же, что импорт python-модуля.

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab
Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab
Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab
Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab
Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Загрузит код напрямую в ячейку. Можно выбрать файл локально или из сети.

Если раскомментировать и выполнить код ниже, содержание ячейки заменится на содержание файла.

%store — ленивая передача данных между блокнотами

%who для анализа переменных глобального пространства имен

Тайминг

Если вы хотите замерить время выполнения программы или найти узкое место в коде, на помощь придет IPython.

Профилирование: %prun, %lprun, %mprun

%lprun позволяет профилировать с точностью до строк кода, но, кажется, в последнем релизе Python он не работает, так что в этот раз обойдемся без магии:

Дебаг с помощью %debug

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

Это не PyCharm — потребуется время, чтобы освоить, но при необходимости дебага на сервере это может быть единственным вариантом (кроме pdb через терминал).

Немного более простой способ — команда %pdb, которая активирует дебаггер, когда выбрасывается исключение:

Запись формул в LateX

Маркдаун ячейки могут отрисовывать формулы LateX с помощью MathJax.

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Маркдаун — важная часть блокнотов, так что не забывайте использовать его выразительные возможности!

Использование разных языков внутри одного блокнота

Если вы соскучились по другим языкам программирования, можете использовать их в Jupyter Notebook:

Анализ Big Data

Существует несколько решений, чтобы запрашивать/обрабатывать большие объемы данных:

Ваши коллеги могут экспериментировать с вашим кодом, ничего не устанавливая

Такие сервисы, как mybinder, предоставляют доступ к Jupiter Notebook со всеми установленными библиотеками, так что пользователь может с полчаса поиграться с вашим кодом, имея под рукой только браузер.

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

Написание функций на других языках

Иногда скорости NumPy бывает недостаточно, и мне необходимо написать немного быстрого кода. В принципе, можно собрать нужные функции в динамические библиотеки, а затем написать обертку на Python…

Но гораздо лучше, когда скучная часть работы сделана за нас, правда?

Ведь можно написать нужные функции на Cython или Fortran и использовать их напрямую из кода на Python.

Для начала нужно установить модули

Лично я предпочитаю Fortran, на котором, я считаю, удобно писать функции для обработки большого объема численных данных. Подробнее о его использовании можно почитать здесь.

Должен заметить, что есть и другие способы ускорить ваш код на Python. Примеры можно найти в моем блокноте.

Множественный курсор

С недавнего времени Jupyter поддерживает множественный курсор, такой, как в Sublime или IntelliJ!

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab
Источник: swanintelligence.com/multi-cursor-in-jupyter.html

Расширения Jupyter-contrib

устанавливаются с помощью

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Это целое семейство различных расширений, включая, например, jupyter spell-checker и code-formatter, которых по умолчанию в Jupyter нет.

RISE: презентации в Notebook

Расширение, написанное Damian Avila, позволяет демонстрировать блокноты как презентации. Пример такой презентации: bollwyvl.github.io/live_reveal/#/7

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

Система вывода Jupyter

Блокноты отображаются в HTML, и вывод ячейки тоже может быть в формате HTML, так что вы можете выводить все, что душе угодно: видео, аудио, изображения.

В этом примере я просматриваю содержимое директории с картинками в моем репозитории и отображаю первые пять из них.

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab
Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab
Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab
Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab
Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Я мог бы получить тот же список bash-командой,

потому что magic-команды и bash-вызовы возвращают переменные Python:

Повторное подключение к ядру

Давным давно, если вы запускали какой-нибудь долгий процесс и в какой-то момент подключение к серверу IPython прерывалось, вы полностью теряли возможность отслеживать процесс вычислений (если только вы не записывали эти данные в файл). Приходилось или прерывать работу ядра с риском потерять некоторые результаты, или ждать окончания процесса, не имея представления о том, что в данный момент происходит.

Теперь опция Reconnect to kernel позволяет заново подключиться к работающему ядру, не прерывая вычислений, и увидеть последний вывод (хотя какая-то часть вывода все же будет потеряна).

Пишите ваши посты в Notebook

такие, как этот. Используйте nbconvert, чтобы экспортировать в HTML.

Источник

Что есть в новом JupyterLab для пользователей?

Одним из основных инструментов на нашем курсе «Разработчик BigData» является Jupyter. Глянем, что его разработчики приготовили в новой итерации и что уже доступно в бета-версии.

Вкратце: JupyterLab готов к ежедневному использованию (установка, документация, экскурс через Binder)

JupyterLab — это интерактивная среда разработки для работы с блокнотами, кодом и данными.

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Эволюция Jupyter Notebook

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

С 2011 года Jupyter Notebook является флагманским проектом по созданию воспроизводимых вычислительных описаний. Jupyter Notebook позволяет пользователям создавать и обмениваться документами, которые объединяют живой код с нарративным текстом, математическими уравнениями, визуализацией, интерактивными элементами управления и многими другими прекрасными фичами. Он также предоставляет строительные блоки для интерактивных вычислений с данными: файловый браузер, терминалы и текстовый редактор.

Jupyter Notebook стал повсеместным благодаря быстрому росту даталогии и машинного обучения и росту популярности программного обеспечения с открытым исходным кодом в промышленности и научном сообществе:

JupyterLab: готов для пользователей

JupyterLab — это интерактивная среда разработки для работы с блокнотами, кодом и данными. Самое главное, что JupyterLab имеет полную поддержку блокнотов Jupyter. Кроме того, JupyterLab позволяет использовать текстовые редакторы, терминалы, средства просмотра файлов данных и другие настраиваемые компоненты рядом с блокнотами в разбитой на вкладки рабочей области.

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

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

JupyterLab обеспечивает высокий уровень интеграции между блокнотами, документами и действиями:

Настройте свой JupyterLab

JupyterLab построен на системе расширений, которые позволяют настраивать и улучшать сред под себя. Фактически, вся встроенная функциональность самого JupyterLab (блокноты, терминалы, браузер файлов, система меню и т. д.) обеспечивается набором основных расширений.

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Расширения JupyterLab позволяют работать с различными форматами данных, такими как GeoJSON, JSON и CSV.

Помимо прочего, расширения могут:

Разработка расширений JupyterLab

Хотя большинство пользователей JupyterLab будут устанавливать готовые расширения, некоторые захотят разработать свои собственные. API разработки расширений еще развивается в этой бета-версии и должно стабилизироваться в JupyterLab 1.0. Чтобы начать разработку расширения JupyterLab, см. Руководство разработчика расширений JupyterLab и шаблоны расширения для TypeScript или JavaScript.

Сам JupyterLab разрабатывается на базе новой библиотеки Javascript для создания расширяемых, высокопроизводительных веб-приложений в стиле настольного компьютера PhosphorJS. Используются современные технологии JavaScript, такие как TypeScript, React, Lerna, Yarn и webpack. Модульные тесты, документация, согласованные стандарты кодирования и исследования пользователей помогают нам поддерживать высокое качество приложения.

JupyterLab 1.0 и далее

JupyterLab 1.0 планируется выпустить в 2018 году. Бета-версии, ведущие к версии 1.0, будут сосредоточены на стабилизации API расширений, улучшении пользовательского интерфейса и дополнительных основных функциях. Все выпуски в бета-серии будут достаточно стабильными для повседневного использования.

JupyterLab 1.0 в конечном итоге заменит классический блокнот Jupyter. На протяжении всего этого перехода один и тот же формат документа для блокнотов будет поддерживаться как классическим блокнотом, так и JupyterLab.

Если вы хотите принять участие в разработке JupyterLab, то для этого существует немало способов:

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

Источник

Что такое jupyter-ноутбук и зачем он нужен

Рассказываем о необычной среде разработки

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

Что такое jupyter-ноутбук

Jupyter-ноутбук — это среда разработки, где сразу можно видеть результат выполнения кода и его отдельных фрагментов. Отличие от традиционной среды разработки в том, что код можно разбить на куски и выполнять их в произвольном порядке. Представьте, что вы можете написать кусочек кода на салфетке и сказать салфетке: «Выполнись».

В такой среде разработки можно, например, написать функцию и сразу проверить её работу, без запуска программы целиком. А ещё можно поменять порядок выполнения кода. Можно отдельно загрузить файл в память, отдельно проверить его содержимое, отдельно обработать содержимое.

А ещё в jupyter-ноутбуках есть вывод результата сразу после фрагмента кода. Например, можно прямо в середине кода увидеть построенный график, получить предварительные цифры или любую другую визуализацию.

Какие языки поддерживаются

Чаще всего, когда говорят о jupyter-ноутбуках, имеют в виду работу с Python. Но на самом деле можно работать и с другими:

Для этого используют специальные магические команды, которые так и называются — magic-команды. Они позволяют запускать код на других языках, а ещё существенно расширяют возможности обычного Python. Про эти команды мы поговорим в отдельной статье.

Ноутбук в облаке

Jupyter-ноутбуки запускаются на компьютере или в облаке.

Проще всего начать работать с ноутбуком в облаке, например Google Colab. Это значит, что вам достаточно запустить браузер и открыть нужную страницу. После этого облачная система выделит для вас ресурсы и позволит выполнять любой код.

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

Минус — программа может работать не так быстро, как на локальной машине. Ещё если вам нужны какие-то экзотические библиотеки, в облаке их может не оказаться.

Ноутбук на компьютере

Если вы сами хотите контролировать всё, что происходит с кодом и со средой разработки, тогда нужно установить jupyter-ноутбук себе на компьютер.

Так как основная среда в таком ноутбуке — это Python, то для работы у вас уже должен быть установлен Python, после сам ноутбук ставится так:

pip3 install jupyter

После установки ноутбук готов к запуску:

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

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

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

Как работать с ноутбуком

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

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Где применяются jupyter-ноутбуки

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

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

Также jupyter-ноутбуки используются при обучении программированию на Python, чтобы писать код и сразу видеть результат его работы.

Что дальше

В следующий раз освоим ноутбуки на практике — сделаем свой ноутбук с красивыми графиками и блоками кода.

Источник

Jupyter Notebook для начинающих: учебник

Jupyter Notebook — невероятно мощный инструмент для интерактивной разработки и представления проектов в области наук о данных. В этой статье вы узнаете, как настроить Jupyter Notebooks на локальном компьютере и как начать использовать его в ваших проектах.

Начнем с определения: что такое «notebook» (блокнот)? Блокнот объединяет код и его вывод в единый документ, который объединяет визуализацию, повествовательный текст, математические уравнения и другие мультимедиа. Этот интуитивно понятный рабочий процесс способствует итеративной и быстрой разработке, что делает ноутбуки все более популярным выбором для представления в данных и их анализа.

Лучше всего то, что в рамках проекта с открытым исходным кодом Project Jupyter он полностью бесплатен.

Проект Jupyter является преемником более раннего проекта IPython Notebook, который впервые был опубликован в качестве прототипа в 2010 году. Хотя в Jupyter Notebooks можно использовать с многими разными языками программирования, в этой статье основное внимание будет уделено Python, поскольку он является наиболее распространенный вариантом использования.

Чтобы получить максимальную отдачу от этого урока, вы должны быть знакомы с программированием, особенно с Python и pandas. Тем не менее, если у вас есть опыт работы с другим языком, Python в этой статье не будет слишком сложным, а статья все равно будет вам полезной в настройке Jupyter Notebooks локально. Как вы увидите позже в этой статье, Jupyter Notebooks также может выступать в качестве гибкой платформы для работы с pandas и даже с Python.

Пример анализа данных в блокноте Jupyter

Сначала мы пройдемся по настройке и анализу примера, чтобы ответить на наш вопрос. Итак, допустим, вы аналитик данных, и вам было поручено выяснить, как исторически менялась прибыль крупнейших компаний в США. У нас для этого будет набор данных о компаниях из списка Fortune 500, охватывающих более 50 лет с момента первой публикации списка в 1955 году, собранных из открытого архива Fortune. Для анализа мы создали CSV файл данных, который вы можете скачать отсюда.

Как мы покажем, ноутбуки Jupyter идеально подходят для этого исследования.

И так, давайте продолжим и установим Jupyter.

Инсталяция

Для новичка проще всего начать работу с Jupyter Notebooks, установив дистрибутив Anaconda. Anaconda является наиболее широко используемым дистрибутивом Python для работы с данными и поставляется с предустановленными наиболее популярными библиотеками и инструментами. Некоторые из крупнейших библиотек Python, включенных в Anaconda, включают NumPy, pandas и Matplotlib, хотя вы можете взглянуть на полный список с более чем 1000+ пакетов. Это позволит вам приступить к работе, без хлопот управления бесчисленными установками или беспокойства о зависимостях и проблемах установки, связанных с ОС.

Чтобы установить Анаконду, просто:

Если вы более продвинутый пользователь с уже установленным Python и предпочитаете управлять своими пакетами вручную, вы можете просто использовать pip для установки Jupyter Notebooks:

Создание вашего первого блокнота

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

Запуск Jupyter

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

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Это пока не блокнот, но не паникуйте! Это панель инструментов ноутбука, специально разработанная для управления ноутбуками Jupyter. Думайте об этом как о панели запуска.

Имейте в виду, что панель управления предоставит вам доступ только к файлам и подпапкам, содержащимся в каталоге запуска Jupyter; однако каталог запуска может быть изменен. Также можно запустить панель мониторинга в любой системе через командную строку (или терминал в системах Unix), введя команду jupyter notebook; в этом случае текущим рабочим каталогом будет каталог запуска.

Проницательный читатель, возможно, заметил, что URL-адрес панели мониторинга похож на http://localhost:8888/tree. Localhost не является веб-сайтом, но указывает, что контент обслуживается с вашего локального компьютера: с вашего собственного компьютера. Ноутбуки и панель инструментов Jupyter — это веб-приложения, и Jupyter запускает локальный веб сервер Python для обслуживания этих приложений в веб-браузере, что делает его практически независимым от платформы и открывает возможности для более удобного обмена в Интернете.

Интерфейс панели управления в основном не требует пояснений — хотя мы вернемся к нему позже. Так чего же мы ждем? Перейдите в папку, в которой вы хотите создать свой первый блокнот, нажмите кнопку «Создать» в правом верхнем углу и выберите «Python 3» (или выбранную вами версию).

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

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

Что за файл ipynb?

Будет полезно понять, что это за файл на самом деле. Каждый файл .ipynb представляет собой текстовый файл, который описывает содержимое вашей записной книжки в формате JSON. Каждая ячейка и ее содержимое, включая вложения изображений, которые были преобразованы в строки текста, перечислены в нем вместе с некоторыми метаданными. Вы можете редактировать их самостоятельно — если знаете, что делаете! — выбрав «Edit> Edit Notebook Metadata» в строке меню в записной книжке.

Вы также можете просмотреть содержимое файлов вашей записной книжки, выбрав «Edit» на панели управления, но ключевое слово здесь — «можете»; нет никакой другой причины, кроме любопытства, делать это, если вы действительно не знаете, что делаете.

Интерфейс Notebook

Теперь, когда перед вами открытый блокнот, надеюсь, его интерфейс не будет выглядеть совершенно чуждым; В конце концов, Jupyter — это просто продвинутый текстовый процессор. Почему бы не осмотреться? Просотрите меню, чтобы почувствовать его, особенно потратьте несколько минут, чтобы прокрутить список команд в палитре команд, который представляет собой небольшую кнопку со значком клавиатуры (или Ctrl + Shift + P).

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Вы должны заметить два довольно важных термина, которые, вероятно, являются новыми для вас: cells (ячейки) и kernels (ядра) являются ключом как к пониманию Jupyter, так и к тому, что делает его не просто текстовым процессором. К счастью, эти термины не сложно понять.

Ячейки (Cell)

Мы вернемся к ядрам чуть позже, но сначала давайте разберемся с ячейками. Ячейки образуют структуру ноутбука. На скриншоте нового блокнота в приведенном выше разделе это поле с зеленым контуром. Есть два основных типа ячеек, которые мы рассмотрим:

Первая ячейка в новой записной книжке всегда является ячейкой кода. Давайте проверим это на классическом примере с Hello World. Введите print (‘Hello World!’) в ячейку и нажмите кнопку запуска на панели инструментов показанная выше или нажмите Ctrl + Enter. Результат должен выглядеть как то так:

Когда вы запустите ячейку, ее вывод будет отображен ниже, а метка слева изменится с In [] на In [1]. Вывод ячейки кода также является частью документа, поэтому вы можете увидеть его в этой статье. Вы всегда можете определить разницу между кодом и ячейками Markdown, потому что ячейки кода имеют эту метку слева, а ячейки Markdown — нет.

Часть «In» метки просто короткая запись слова «Input», а номер метки указывает, когда ячейка была выполнена в ядре — в нашем случае ячейка была выполнена первой. Запустите ячейку снова, и метка изменится на In [2], потому что теперь ячейка была второй, запущенной в ядре. Позже станет понятнее, почему это так полезно, когда мы поближе познакомимся с ядрами.

В строке меню нажмите Insert (Вставить) и выберите Insert Cell Below (Вставить ячейку ниже), чтобы создать новую ячейку кода под первым и попробуйте следующий код, чтобы увидеть, что происходит. Вы замечаете что-то другое?

Эта ячейка не производит никакого вывода, но для ее выполнения требуется три секунды. Обратите внимание, как Jupyter показывает, что ячейка в данный момент работает, изменив метку на In [*].

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

Горячие клавиши

Последнее, что вы, возможно, заметили при запуске ваших ячеек, это то, что их рамка стала синей, тогда как она была зеленой, когда вы редактировали ее. Всегда есть одна «активная» ячейка, выделенная рамкой, цвет которой обозначает ее текущий режим, где зеленый означает edit mode (режим редактирования), а синий — command mode (командный режим).

До сих пор мы показали, как запустить ячейку с помощью Ctrl + Enter, но есть еще много других возможностей. Сочетания клавиш являются очень популярным аспектом среды Jupyter, поскольку они обеспечивают быстрый рабочий процесс на основе ячеек. Многие из этих действий вы можете выполнять в активной ячейке, когда она находится в командном режиме.

Ниже вы найдете список некоторых сочетаний клавиш Jupyter. Вам не нужно сразу их запоминать, но список должен дать вам хорошее представление о том, что это возможно.

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

Markdown

Markdown — это легкий, простой в освоении язык разметки для форматирования простого текста. Его синтаксис имеет однозначное соответствие с тегами HTML, поэтому некоторые предварительные знания здесь могут быть полезны, но это определенно не является обязательным условием. Давайте рассмотрим основы с кратким примером.

При прикреплении изображений у вас есть три варианта:

У Markdown гораздо больше возможностей, особенно в отношении гиперссылок, а также возможно просто включить простой HTML. Если вы захотите узнать больше, вы можете обратиться к официальному руководству от создателя Markdown, Джона Грубера, на его веб-сайте.

Ядра (Kernels)

За каждым ноутбуком работает ядро. Когда вы запускаете ячейку кода, этот код выполняется в ядре, и любой вывод возвращается обратно в ячейку для отображения. Состояние ядра сохраняется во времени и между ячейками — оно относится к документу в целом, а не к отдельным ячейкам.

Например, если вы импортируете библиотеки или объявляете переменные в одной ячейке, они будут доступны в другой. Таким образом, вы можете думать о документе блокнота как о чем-то сравнимом с файлом сценария, за исключением того, что он является мультимедийным. Давайте попробуем, чтобы почувствовать это. Сначала мы импортируем пакет Python и определим функцию.

Как только мы выполнили ячейку выше, мы можем ссылаться на np и square в любой другой ячейке.

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

Здесь нет сюрпризов! Но теперь давайте изменим у.

Как вы думаете, что произойдет, если мы снова запустим ячейку, содержащую наш оператор print? Мы получим на выходе 4 в квадрате 10?

Большую часть времени поток в вашем ноутбуке будет сверху вниз, но часто приходится возвращаться, чтобы внести изменения. В этом случае важен порядок выполнения, указанный слева от каждой ячейки, например, In [6], позволит вам узнать, имеет ли какая-либо из ваших ячеек устаревший вывод. И если вы когда-нибудь захотите сбросить настройки, есть несколько невероятно полезных опций из меню Kernel:

Если ваше ядро зависло в вычислении, и вы хотите остановить его, вы можете выбрать опцию Interupt.

Выбор ядра

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

Существуют не только ядра для разных версий Python, но и более 100 языков, включая Java, C и даже Fortran. Исследователи данных могут быть особенно заинтересованы в ядрах для R и Julia, а также в imatlab и ядре Calysto MATLAB Kernel для Matlab. Ядро SoS обеспечивает многоязычную поддержку в пределах одного ноутбука. Каждое ядро имеет свои собственные инструкции по установке, но, вероятно, потребует от вас выполнения некоторых команд на вашем компьютере.

Пример анализа

Теперь когда мы рассмотрели, что такое Jupyter Notebook, пришло время взглянуть на то, как они используются на практике, что должно дать вам более четкое представление о том, почему они так популярны. Наконец-то пришло время начать работу с тем набором данных Fortune 500, который упоминался ранее. Помните, наша цель — узнать, как исторически менялась прибыль крупнейших компаний США.

Названия для ноутбуков

Прежде чем начать создавать свой проект, вы, вероятно, захотите дать ему осмысленное имя. Возможно, это несколько сбивает с толку: но вы не можете назвать или переименовать свои записные книжки из самого приложения для записной книжки, а для переименования файла .ipynb необходимо использовать панель мониторинга или файловый браузер. Мы вернемся к информационной панели, чтобы переименовать созданный ранее файл, который будет иметь имя файла по умолчанию для записной книжки Untitled.ipynb.

Вы не можете переименовать ноутбук во время его работы, потому что его сначала нужно выключить. Самый простой способ сделать это — выбрать «File> Close and Halt» в меню ноутбука. Однако вы также можете выключить ядро, перейдя в «Kernel> Shutdown» в приложении для ноутбука или выбрав ноутбук на приборной панели и нажав «Shutdown» (см. Изображение ниже).

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Затем вы можете выбрать свой блокнот и нажать «Rename» на панели управления.

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Обратите внимание, что закрытие вкладки «notebook» в вашем браузере не «закроет» вашу записную книжку так же, как закрытие документа в традиционном приложении. Ядро ноутбука будет продолжать работать в фоновом режиме и должно быть отключено, прежде чем оно действительно «закроется». Это очень удобно, если вы случайно закрыли вкладку или браузер! Если ядро закрыто, вы можете закрыть вкладку, не беспокоясь о том, работает ли оно по-прежнему или нет.

Как только вы назвали свою записную книжку, откройте ее снова, и мы начнем.

Настройка

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

Здесь мы импортируем pandas для работы с нашими данными, Matplotlib для построения графиков и Seaborn для улучшения внешнего вида наших графиков. Обычно также импортируется NumPy, но в нашем случае, мы используем его через pandas, и нам не нужно это делать явно. Последняя строка не является командой Python, она является нечто, называемое строковой магией, для инструктирования Jupyter захватывать графики Matplotlib и отображать их в выходных данных ячейки; это одна из ряда расширенных функций, которые выходят за рамки данной статьи.

Давайте продолжим и загрузим наши данные.

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

Сохранение и контрольная точка

Теперь, когда мы начали создавать проект, лучше регулярно сохраняться. Нажатие Ctrl + S сохранит вашу записную книжку, вызвав команду «Save and Checkpoint», но что это за checkpoint (контрольная точка)?

Каждый раз, когда вы создаете новую записную книжку, создается файл контрольной точки, а также файл вашей записной книжки; он будет расположен в скрытом подкаталоге вашего места сохранения с именем .ipynb_checkpoints, и также является файлом .ipynb. По умолчанию Jupyter каждые 120 секунд автоматически сохраняет ваш блокнот в этот файл контрольных точек, не изменяя основной файл блокнота. Когда вы сохраняете и сохраняете контрольную точку, файлы записной книжки и контрольной точки обновляются. Следовательно, контрольная точка позволяет вам восстановить несохраненную работу в случае непредвиденной проблемы. Вы можете вернуться к контрольной точке из меню через «File> Revert to Checkpoint».

Изучение нашего набора данных

Наш блокнот благополучно сохранен, и мы загрузили наш набор данных переменную df в наиболее часто используемую структуру данных pandas, которая называется DataFrame и в основном выглядит как таблица. Давай те посмотрим как выглядят наши данные?

yearrankcompanyrevenue (in millions)profit (in millions)
019551General Motors9823.5806
119552Exxon Mobil5661.4584.8
219553U.S. Steel3250.4195.4
319554General Electric2959.1212.6
419555Esmark2510.819.1
yearrankcompanyrevenue (in millions)profit (in millions)
254952005496Wm. Wrigley Jr.3648.6493
254962005497Peabody Energy3631.6175.4
254972005498Wendy’s International3630.457.8
254982005499Kindred Healthcare3616.670.6
254992005500Cincinnati Financial3614.0584

У нас есть столбцы, которые нам нужны, и каждая строка соответствует одной компании за один год.

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

Далее нам нужно изучить наш набор данных. Являются ли они завершенными? Распознало ли pandas их, как ожидалось? Отсутствуют ли в них какие-либо значения?

У нас есть 500 строк за каждый год с 1955 по 2005 год включительно.

Давайте проверим, был ли наш набор данных импортирован, как мы ожидали. Простая проверка состоит в том, чтобы увидеть, были ли типы данных (или dtypes) правильно интерпретированы.

Ооо Похоже, что с колонкой profit что-то не так — мы ожидаем, что это будет float64, как колонка revenue. Это указывает на то, что она, вероятно, содержит нецелые значения, так что давайте посмотрим.

yearrankcompanyrevenueprofit
2281955229Norton135.0N.A.
2901955291Schlitz Brewing100.0N.A.
2941955295Pacific Vegetable Oil97.9N.A.
2961955297Liebmann Breweries96.0N.A.
3521955353Minneapolis-Moline77.4N.A.

Как мы и подозревали! Некоторые значения являются строками, которые использовались для указания отсутствующих данных. Есть ли какие-то другие значения, которые закрались?

Получается, что других значений нет. Это облегчает интерпретацию, но что нам делать? Это зависит от того, сколько значений пропущено.

Это небольшая часть нашего набора данных, хотя и не совсем несущественная, поскольку все еще составляет около 1,5%. Если строки, содержащие N.A., примерно одинаково распределены по годам, самым простым решением было бы просто удалить их. Итак, давайте кратко рассмотрим их распределение.

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

На первый взгляд, мы видим, что самые недопустимые значения за один год составляют менее 25, а поскольку существует 500 точек данных в год, удаление этих значений будет составлять менее 4% данных для худших лет. Действительно, кроме всплеска около 90-х годов, большинство лет имеют менее половины недостающих значений пика. Для наших целей допустим, что это приемлемо, и мы просто удалим эти строки.

Мы должны проверить, что у нас получилось.

Супер! Мы завершили настройку набора данных.

Если бы вы собирались представить свою записную книжку в виде отчета, вы могли бы избавиться от созданных нами исследовательских ячеек, которые включены здесь в качестве демонстрации процесса работы с записными книжками, и объединить соответствующие ячейки (см. Раздел «Дополнительные функции» ниже для подробностей об этом) для создания единой ячейки настройки набора данных. Это будет означать, что если мы когда-нибудь испортим наш набор данных в другом месте, мы сможем просто повторно запустить ячейку настройки, чтобы восстановить ее.

Графики с matplotlib

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

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

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

Может быть, доходы могут рассказать нам больше.

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Это добавляет другую сторону истории. Доходы отнюдь не так сильно пострадали, это отличная бухгалтерская работа для финансовых отделов.

С небольшой помощью Stack Overflow мы можем наложить эти графики с +/- их стандартными отклонениями.

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Это ошеломляет, стандартные отклонения огромны. Некоторые компании из списка Fortune 500 зарабатывают миллиарды, в то время как другие теряют миллиарды, и риск увеличивается вместе с ростом прибыли за последние годы. Возможно, некоторые компании работают лучше, чем другие; Являются ли прибыли первых 10% более или менее волатильными, чем нижние 10%?

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

Делимся своими ноутбуками

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

Так же, в интернете появляются новые компании, предлагающие возможность запуска интерактивных Jupyter Notebooks в облаке.

Прежде чем поделиться

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

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

Экспорт ваших ноутбуков

GitHub

Если у вас есть учетная запись GitHub, самый простой способ поделиться записной книжкой через GitHub на самом деле вообще не используя Git. С 2008 года GitHub предоставляет сервис Gist для размещения и совместного использования фрагментов кода, каждый из которых имеет свой собственный репозиторий. Чтобы поделиться блокнотом с помощью Gists:

Это должно выглядеть примерно так:

Что такое jupiter lab. Смотреть фото Что такое jupiter lab. Смотреть картинку Что такое jupiter lab. Картинка про Что такое jupiter lab. Фото Что такое jupiter lab

Если вы создали общедоступную Gist, теперь вы сможете поделиться ее URL-адресом с кем угодно, а другие смогут fork and clone вашу работу.

Создание собственного репозитория Git и распространение его на GitHub выходит за рамки данного руководства, но GitHub предоставляет множество руководств, которые помогут вам освоить его самостоятельно.

Nbviewer

К 2015 году NBViewer стал самым популярным средством рендеринга ноутбуков в Интернете. Если у вас уже есть место для размещения ваших ноутбуков Jupyter в Интернете, будь то GitHub или где-либо еще, NBViewer отобразит ваш блокнот и предоставит совместно используемый URL-адрес вместе с ним. Предоставляется как бесплатный сервис в рамках проекта Jupyter, он доступен по адресу nbviewer.jupyter.org.

Первоначально разработанный до интеграции GitHub с Jupyter Notebook, NBViewer позволяет любому вводить URL-адрес, идентификатор Gist или имя пользователя/репозиторий/файл GitHub, и он отображает блокнот в виде веб-страницы. Идентификатор Gist — это уникальный номер в конце URL; например, строка символов после последнего обратного слеша в https://gist.github.com/username/50896401c23e0bf417e89cd57e89e1de. Если вы введете имя пользователя GitHub или username/репо, вы увидите минимальный файловый браузер, который позволит вам просматривать репозитории пользователя и их содержимое.

URL-адрес, отображаемый NBViewer при отображении записной книжки, является константой в зависимости от URL-адреса записываемой записной книжки, поэтому вы можете поделиться этим с кем угодно, и он будет работать, пока исходные файлы остаются в сети.

Заключение

Начав с основ, мы познакомились с естественным рабочим процессом Jupyter Notebooks, углубились в более продвинутые функции IPython и, наконец, научились делиться своей работой с друзьями, коллегами и миром. И мы сделали все это из самой записной книжки!

Если вы хотите получить вдохновение для своих собственных ноутбуков, Jupyter собрал галерею интересных ноутбуков Jupyter, которые вам могут пригодиться, и на домашней странице Nbviewer есть ссылки на действительно интересные примеры качественных ноутбуков.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *