Как установить jupiter notebook на windows 7 x64

Jupyter Notebook is an open source web application that allows you to create and share documents that contain live code equations visualizations and narrative text. Uses include data cleaning and transformation numerical simulation statistical modeling data visualization machine learning and much more. Jupyter has support for over 40 different programming languages

Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations, and narrative text. Uses include data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more.

Jupyter has support for over 40 different programming languages and Python is one of them. Python is a requirement (Python 3.3 or greater, or Python 2.7) for installing the Jupyter Notebook itself.

Jupyter Notebook can be installed by using either of the two ways described below:

  • Using Anaconda:
    Install Python and Jupyter using the Anaconda Distribution, which includes Python, the Jupyter Notebook, and other commonly used packages for scientific computing and data science. To install Anaconda, go through How to install Anaconda on windows? and follow the instructions provided.
  • Using PIP:
    Install Jupyter using the PIP package manager used to install and manage software packages/libraries written in Python. To install pip, go through How to install PIP on Windows? and follow the instructions provided.

Installing Jupyter Notebook using Anaconda:

Anaconda is an open-source software that contains Jupyter, spyder, etc that are used for large data processing, data analytics, heavy scientific computing. Anaconda works for R and python programming language. Spyder(sub-application of Anaconda) is used for python. Opencv for python will work in spyder. Package versions are managed by the package management system called conda.

To install Jupyter using Anaconda, just go through the following instructions:

Launching Jupyter:
Launching-Jupyter-Notebook

Jupyter-Launch-Window

Installing Jupyter Notebook using pip:

PIP is a package management system used to install and manage software packages/libraries written in Python. These files are stored in a large “on-line repository” termed as Python Package Index (PyPI).
pip uses PyPI as the default source for packages and their dependencies.

To install Jupyter using pip, we need to first check if pip is updated in our system. Use the following command to update pip:

python -m pip install --upgrade pip

Updating-pip-version

After updating the pip version, follow the instructions provided below to install Jupyter:

  • Command to install Jupyter:
    python -m pip install jupyter
    
  • Beginning Installation:
    Beginning-installation
  • Downloading Files and Data:
    Downloading-data-and-files
  • Installing Packages:
    Installing-packages
  • Finished Installation:
    Finished-Installation
  • Launching Jupyter:
    Use the following command to launch Jupyter using command-line:

    jupyter notebook

    Using-Launch-command-Code

    Jupyter-Launch-Window

Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations, and narrative text. Uses include data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more.

Jupyter has support for over 40 different programming languages and Python is one of them. Python is a requirement (Python 3.3 or greater, or Python 2.7) for installing the Jupyter Notebook itself.

Jupyter Notebook can be installed by using either of the two ways described below:

  • Using Anaconda:
    Install Python and Jupyter using the Anaconda Distribution, which includes Python, the Jupyter Notebook, and other commonly used packages for scientific computing and data science. To install Anaconda, go through How to install Anaconda on windows? and follow the instructions provided.
  • Using PIP:
    Install Jupyter using the PIP package manager used to install and manage software packages/libraries written in Python. To install pip, go through How to install PIP on Windows? and follow the instructions provided.

Installing Jupyter Notebook using Anaconda:

Anaconda is an open-source software that contains Jupyter, spyder, etc that are used for large data processing, data analytics, heavy scientific computing. Anaconda works for R and python programming language. Spyder(sub-application of Anaconda) is used for python. Opencv for python will work in spyder. Package versions are managed by the package management system called conda.

To install Jupyter using Anaconda, just go through the following instructions:

Launching Jupyter:
Launching-Jupyter-Notebook

Jupyter-Launch-Window

Installing Jupyter Notebook using pip:

PIP is a package management system used to install and manage software packages/libraries written in Python. These files are stored in a large “on-line repository” termed as Python Package Index (PyPI).
pip uses PyPI as the default source for packages and their dependencies.

To install Jupyter using pip, we need to first check if pip is updated in our system. Use the following command to update pip:

python -m pip install --upgrade pip

Updating-pip-version

After updating the pip version, follow the instructions provided below to install Jupyter:

  • Command to install Jupyter:
    python -m pip install jupyter
    
  • Beginning Installation:
    Beginning-installation
  • Downloading Files and Data:
    Downloading-data-and-files
  • Installing Packages:
    Installing-packages
  • Finished Installation:
    Finished-Installation
  • Launching Jupyter:
    Use the following command to launch Jupyter using command-line:

    jupyter notebook

    Using-Launch-command-Code

    Jupyter-Launch-Window

Все курсы > Программирование на Питоне > Занятие 14

jupyter notebook

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

интерфейс jupyter notebook

Облачной версией Jupyter Notobook является программа Google Colab, которой мы уже давно пользуемся на курсах машинного обучения. Если вы проходили мои занятия, то в работе с этой программой для вас не будет почти ничего нового.

Способ 1. Если на вашем компьютере уже установлен Питон, то установить Jupyter Notebook можно через менеджер пакетов pip.

Способ 2 (рекомендуется). Кроме того, Jupyter Notebook входит в дистрибутив Питона под названием Anaconda.

На сегодняшнем занятии мы рассмотрим именно второй вариант установки.

Anaconda

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

дистрибутив и репозиторий Anaconda

Основу дистрибутива Anaconda составляет система управления пакетами и окружениями conda.

Conda можно управлять двумя способами, а именно через Anaconda Prompt — программу, аналогичную командной строке Windows, или через Anaconda Navigator — понятный графический интерфейс.

Кроме того, в дистрибутив Anaconda входит несколько полезных программ:

  • Jupyter Notebook и JupyterLab — это программы, позволяющие исполнять код на Питоне (и, как мы увидим, на других языках) и обрабатывать данные.
  • Spyder и PyCharm представляют собой так называемую интегрированную среду разработки (Integrated Development Environment, IDE). IDE — это редактор кода наподобие программы Atom или Sublime Text с дополнительными возможностями автодополнения, компиляции и интерпретации, анализа ошибок, отладки (debugging), подключения к базам данных и др.
  • RStudio — интегрированная среда разработки для программирования на R.

На схеме структура Anaconda выглядит следующим образом:

компоненты Anaconda

Установка дистрибутива Anaconda на Windows

Шаг 1. Скачайте Anaconda⧉ с официального сайта.

Шаг 2. Запустите установщик.

На одном из шагов установки вам предложат поставить две галочки, в частности (1) добавить Anaconda в переменную path и (2) сделать дистрибутив Anaconda версией, которую Windows обнаруживает по умолчанию.

установка дистрибутива Anaconda

Не отмечайте ни один из пунктов!

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

Как запустить Jupyter Notebook

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

Шаг 1. Откройте Anaconda Navidator

Открыть Anaconda Navigator можно двумя способами.

Способ 1. Запуск из меню «Пуск». Просто перейдите в меню «Пуск» и выберите Anaconda Navigator.

как открыть Anaconda Navigator

Способ 2. Запуск через Anaconda Prompt. Также из меню «Пуск» откройте терминал Anaconda Prompt.

как открыть Anaconda Navigator через Anaconda Prompt

Введите команду
anaconda-navigator.

команда anaconda-navigator в Anaconda Prompt

В результате должно появиться вот такое окно.

интерфейс Anaconda Navigator

Шаг 2. Откройте Jupyter Notebook

Теперь выберите Jupyter Notebook и нажмите Launch («Запустить»).

запуск Jupyter Notebook через Anaconda Navigator

Замечу, что Jupyter Notebook можно открыть не только из Anaconda Navigator, но и через меню «Пуск», а также введя в терминале Anaconda Prompt команду
jupyter-notebook.

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

список директорий при запуске Anaconda Navigator

Шаг 3. Выберите папку и создайте ноутбук

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

Теперь в правом верхнем углу нажмите New → Python 3.

создание Jupyter Notebook с ядром на Питоне

Мы готовы писать и исполнять код точно также, как мы это делаем в Google Colab.

ячейка с кодом Jupyter Notebook

Импортируем библиотеку Numpy и создадим массив.

импорт библиотеки Numpy в Jupyter Notebook

Шаг 4. Сохраните ноутбук и закройте Jupyter Notebook

Переименуйте ноутбук в mynotebook (для этого, как и в Google Colab, отредактируйте само название непосредственно в окне ноутбука). Сохранить файл можно через File → Save and Checkpoint.

сохранение ноутбука

Обратите внимание, помимо файла mynotebook.ipynb, Jupyter Notebook создал скрытую папку .ipynb_checkpoints. В ней хранятся файлы, которые позволяют вернуться к предыдущей сохраненной версии ноутбука (предыдущему check point). Сделать это можно, нажав File → Revert to Checkpoint и выбрав дату и время предыдущей сохраненной версии кода.

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

остановка локального сервера Jupyter Notebook

Особенности работы

Давайте подробнее поговорим про возможности Jupyter Notebook. Снова запустим только что созданный ноутбук любым удобным способом.

Код на Python

В целом мы пишем обычный код на Питоне.

Вкладка Cell

Для управления запуском или исполнением ячеек можно использовать вкладку Cell.

вкладка Cell программы Jupyter Notebook

Здесь мы можем, в частности:

  • Запускать ячейку и оставаться в ней же через Run Cells
  • Исполнять все ячейки в ноутбуке, выбрав Run All
  • Исполнять все ячейки выше (Run All Above) или ниже текущей (Run All Below)
  • Очистить вывод ячеек, нажав All Output → Clear

Вкладка Kernel

Командами вкладки Kernel мы управляем ядром (kernel) или вычислительным «движком» ноутбука.

вкладка Kernel программы Jupyter Notebook

В этой вкладке мы можем, в частности:

  • Прервать исполнение ячейки командой Interrupt. Это бывает полезно, если, например, исполнение кода занимает слишком много времени или в коде есть ошибка и исполнение кода не прервется самостоятельно.
  • Перезапустить kernel можно командой Restart. Кроме того, можно
    • очистить вывод (Restart & Clear Output) и
    • заново запустить все ячейки (Restart & Run All)

Несколько слов про то, что такое ядро и как в целом функционирует Jupyter Notebook.

схема Jupyter Notebook: пользователь, браузер, сервер, ядро, файл

Пользователь взаимодействует с ноутбуком через браузер. Браузер в свою очередь отправляет запросы на сервер. Функция сервера заключается в том, чтобы загружать ноутбук и сохранять внесенные изменения в формате JSON с расширением .ipynb. Одновременно, сервер обращается к ядру в тот момент, когда необходимо обработать код на каком-либо языке (например, на Питоне).

Такое «разделение труда» между браузером, сервером и ядром позволяет во-первых, запускать Jupyter Notebook в любой операционной системе, во-вторых, в одной программе исполнять код на нескольких языках, и в-третьих, сохранять результат в файлах одного и того же формата.

Возможность программирования на нескольких языках (а значит использование нескольких ядер) мы изучим чуть позже, а пока посмотрим как устанавливать новые пакеты для Питона внутри Jupyter Notebook.

Установка новых пакетов

Установить новые пакеты в Anaconda можно непосредственно в ячейке, введя
!pip install <package_name>. Например, попробуем установить Numpy.

установка пакетов внутри Jupyter Notebook

Система сообщила нам, что такой пакет уже установлен. Более того, мы видим путь к папке внутри дистрибутива Anaconda, в которой Jupyter «нашел» Numpy.

При подготовке этого занятия я использовал два компьютера, поэтому имя пользователя на скриншотах указано как user или dmvma. На вашем компьютере при указании пути к файлу используйте ваше имя пользователя.

В последующих разделах мы рассмотрим дополнительные возможности по установке пакетов через Anaconda Prompt и Anaconda Navigator.

По ссылке ниже вы можете скачать код, который мы создали в Jupyter Notebook.

Два Питона на одном компьютере

Обращу ваше внимание, что на данный момент на моем компьютере (как и у вас, если вы проделали шаги прошлого занятия) установлено два Питона, один с сайта www.python.org⧉, второй — в составе дистрибутива Anaconda.

Посмотреть на установленные на компьютеры «Питоны» можно, набрав команду
where python в Anaconda Prompt.

команда where python в Anaconda Prompt

Указав полный или абсолютный путь (absolute path) к каждому из файлов python.exe, мы можем в интерактивном режиме исполнять код на версии 3.8 (установили с www.python.org) и на версии 3.10 (установили в составе Anaconda). При запуске файла python.exe из папки WindowsApps система предложит установить Питон из Microsoft Store.

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

В нашем случае мы настроили работу так, чтобы устанавливать библиотеки для Питона с www.python.org через командную строку Windows, и устанавливать пакеты в Анаконду через Anaconda Prompt.

Убедиться в этом можно, проверив версии Питона через
python —version в обеих программах.

команда python --version в командной строке Windows и Anaconda Prompt

Теперь попробуйте ввести в них команду
pip list и сравнить установленные библиотеки.

Markdown в Jupyter Notebook

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

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

Рассмотрим несколько основных возможностей форматирования (для удобстства и в силу практически полного совпадения два последующих раздела приведены в ноутбуке Google Colab).

Откроем ноутбук к этому занятию⧉

Заголовки

Заголовки создаются с помощью символа решетки.

# Заголовок 1

## Заголовок 2

### Заголовок 3

#### Заголовок 4

##### Заголовок 5

###### Заголовок 6

заголовки в markdown

Если перед первым символом решетки поставить знак , Markdown просто выведет символы решетки.

символ "" перед символом решетки в markdown

Абзацы

Абзацы отделяются друг от друга пробелами.

абзацы в markdown

Мы также можем разделять абзацы прямой линией.

горизонтальная линия в markdown

Выделение текста

**Полужирный стиль**

*Курсив*

~~Перечеркнутый стиль~~

выделение текста в markdown

Форматирование кода и выделенные абзацы

Мы можем выделять код внутри строки или отдельным абзацем.

Отформатируем код `print(‘Hello world!’)` внутри строки и отдельным абзацем

«`

print(‘Hello world!’)

«`

форматирование кода в markdown

Возможно выделение и текстовых абзацев ( так называемые blockquotes).

> Markdown позволяет форматировать текст без использования тэгов.

>

> Он был создан в 2004 году Джоном Грубером и Аароном Шварцем.

выделенный абзац в markdown

Списки

Посмотрим на создание упорядоченных и неупорядоченных списков.

**Упорядоченный список**

1. Пункт 1

1. Пункт 2 (нумерация ведется автоматически)

**Неупорядоченный список**

* Пункт 1.1

  * Пункт 2.1

  * Пункт 2.2

    * Пункт 3.1

    * Пункт 3.2

* Пункт 1.2

упорядоченные и неупорядоченные списки в markdown

Ссылки и изображения

Текст ссылки заключается в квадратные скобки, сама ссылка — в круглые.

[сайт проекта Jupyter](https://jupyter.org/)

ссылка в markdown

Изображение форматируется похожим образом.

![логотипы Jupyter и Python](https://www.dmitrymakarov.ru/wp-content/uploads/2022/05/jupyter-python.jpeg)

логотип Jupyter Notebook и Python

Таблицы

| id | item     | price |

|— |———-| ——|

| 01 | pen      | 200   |

| 02 | pencil   | 150   |

| 03 | notebook | 300   |

таблица в markdown

Таблицы для Markdown бывает удобно создавать с помощью специального инструмента⧉.

Формулы на LaTeX

В текстовых полях можно вставлять формулы и математические символы с помощью системы верстки, которая называется LaTeX (произносится «латэк»). Они заключаются в одинарные или двойные символы $.

Если использовать одинарный символ $, то расположенная внутри формула останется в пределах того же абзаца. Например, запись
$ y = x^2 $ даст $ y = x^2 $.

В то время как
$$ y = x^2 $$ поместит формулу в новый абзац.

$$ y = x^2 $$

Одинарный символ добавляет пробел. Двойной символ \ переводит текст на новую строку.

$$ hat{y} = theta_0 + theta_1 x_1 + theta_2 x_2 + ... + theta_n x_n $$

символы  (пробел) и \ (перенос строки) в LaTeX

Рассмотрим некоторые элементы синтаксиса LaTeX.

Форматирование текста

$ text{just text} $

$ textbf{bold} $

$ textit{italic} $

$ underline{undeline} $

форматирование текста в LaTeX

Надстрочные и подстрочные знаки

hat $ hat{x} $

bar $ bar{x} $

vector $ vec{x} $

tilde $ tilde{x} $

superscript $ e^{ax + b} $

subscript $ A_{i, j} $

degree $ 90^{circ} $

надстрочные и подстрочные знаки в LaTeX

Скобки

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

$$

(a+b)

[a+b]

{a+b}

langle x+y rangle

|x+y|

|x+y|

$$

скобки в пределах высоты строки в LaTeX

Кроме того, с помощью
left(,
right), а также
left[,
right] и так далее можно увеличить высоту скобки. Сравните.

$$

left(frac{1}{2}right) qquad (frac{1}{2})

$$

круглые скобки с увеличенной высотой в LaTeX

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

$$

big( Big( bigg( Bigg(

big] Big] bigg] Bigg]

big{ Big{ bigg{ Bigg{

$$

скобки различного размера в LaTeX

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

fraction

$$ frac{1}{1+e^{z}} $$

square root $ sqrt{sigma^2} $

дробь и квадратный корень в LaTeX

Греческие буквы

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

|Uppercase  | LaTeX     |Lowercase     | LaTeX       | RU       |

|  |    |     |      |  |

|  |    |$alpha$      |alpha      | альфа    |

|  |    |$beta$       |beta       | бета     |

|$Gamma$   |Gamma    |$gamma$      |gamma      | гамма    |

|$Delta$   |Delta    |$delta$      |delta      | дельта   |

|  |    |$epsilon$    |epsilon    | эпсилон  |

|  |    |$varepsilon$ |varepsilon |   |

|  |    |$zeta$       |zeta       | дзета    |

|  |    |$eta$        |eta        | эта      |

|$Theta$   |Theta    |$theta$      |theta      | тета     |

|  |    |$vartheta$   |vartheta   |   |

|  |    |$iota$       |iota       | йота     |

|  |    |$kappa$      |kappa      | каппа    |

|$Lambda$  |Lambda   |$lambda$     |lambda     | лямбда   |

|  |    |$mu$         |mu         | мю       |

|  |    |$nu$         |nu         | ню       |

|$Xi$      |Xi       |$xi$         |xi         | кси      |

|  |    |$omicron$    |omicron    | омикрон  |

|$Pi$      |Pi       |$pi$         |pi         | пи       |

|  |    |$varpi$      |varpi      |   |

|  |    |$rho$        |rho        | ро       |

|  |    |$varrho$     |varrho     |   |

|$Sigma$   |Sigma    |$sigma$      |sigma      | сигма    |

|  |    |$varsigma$   |varsigma   |   |

|  |    |$tau$        |tau        | тау      |

|$Upsilon$ |Upsilon  |$upsilon$    |upsilon    | ипсилон  |

|$Phi$     |Phi      |$phi$        |phi        | фи       |

|  |    |$varphi$     |varphi     |   |

|  |    |$chi$        |chi        | хи       |

|$Psi$     |Psi      |$psi$        |psi        | пси      |

|$Omega$   |Omega    |$omega$      |omega      | омега    |

греческий алфавит в LaTeX

греческий алфавит в LaTeX 2

Латинские обозначения

$$

sin(alpha) = sin(alpha)

cos(theta)=sin left( frac{pi}{2}theta right)

tan(x) = frac{sin(x)}{cos(x)}

log_b(1) = 0

$$

латинские обозначения в LaTeX

Логические символы и символы множества

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

| LaTeX                  |  symbol                   |

| | |

|Rightarrow             | $ Rightarrow $           |

|rightarrow             | $ rightarrow $           |

|longleftrightarrow     | $ Leftrightarrow $       |

|cap                    | $ cap $                  |

|cup                    | $ cup $                  |

|subset                 | $ subset $               |

|in                     | $ in $                   |

|notin                  | $ notin $                |

|varnothing             | $ varnothing $           |

|neg                    | $ neg $                  |

|forall                 | $ forall $               |

|exists                 | $ exists $               |

|mathbb{N}              | $ mathbb{N} $            |

|mathbb{Z}              | $ mathbb{Z} $            |

|mathbb{Q}              | $ mathbb{Q} $            |

|mathbb{R}              | $ mathbb{R} $            |

|mathbb{C}              | $ mathbb{C} $            |

логические символы и символы множества в LaTeX

Другие символы

| LaTeX                  |  symbol                   |

| | |

| <                      | $ < $                     |

| leq                   | $ leq $                  |

| >                      | $ geq $                  |

| neq                   | $ neq $                  |

| approx                | $ approx $               |

| angle                 | $ angle $                |

| parallel              | $ parallel $             |

| pm                    | $ pm $                   |

| mp                    | $ mp $                   |

| cdot                  | $ cdot $                 |

| times                 | $ times $                |

| div                   | $ div $                  |

другие символы в LaTeX

Кусочная функция и система уравнений

Посмотрим на запись функции sgn (sign function) средствами LaTeX.

$$

sgn(x) = left{

    begin{array}

        1 & mbox{if } x in mathbf{N}^*

        0 & mbox{if } x = 0

        1 & mbox{else.}

    end{array}

right.

$$

функция sgn в LaTeX

Схожим образом записывается система линейных уравнений.

$$

left{

    begin{matrix}

    4x  + 3y = 20

    5x + 9y = 26

    end{matrix}

right.

$$

система линейных уравнений в LaTeX

Горизонтальная фигурная скобка

$$

overbrace{

  underbrace{a}_{real} +

  underbrace{b}_{imaginary} i}

  ^{textit{complex number}}

$$

горизонтальная фигурная скобка в LaTeX

Предел, производная, интеграл

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

Пределы:

$$ lim_{x to +infty} f(x) $$

$$ lim_{x to infty} f(x) $$

$$ lim_{x to с} f(x) $$

Производная (нотация Лагранжа):

$$ f(x) $$

Частная производная (нотация Лейбница):

$$ frac{partial f}{partial x} $$

Градиент:

$$

nabla f(x_1, x_2) = 

begin{bmatrix}

frac{partial f}{partial x_1}  frac{partial f}{partial x_2} 

end{bmatrix}

$$

Интеграл:

$$int_{a}^b f(x)dx$$

пределы, производная, интеграл в LaTeX

Сумма и произведение

Сумма:

$$ sumlimits_{i=1}^n a_{i} $$

$$sum_{i=1}^n a_{i} $$

Произведение:

$$prod_{j=1}^m a_{j}$$

сумма и произведение в LaTeX

Матрица

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

Без скобок (plain):

$$

begin{matrix}

1 & 2 & 3

a & b & c

end{matrix}

$$

Круглые скобки (parentheses, round brackets):

$$

begin{pmatrix}

1 & 2 & 3

a & b & c

end{pmatrix}

$$

Квадратные скобки (square brackets):

$$

begin{bmatrix}

1 & 2 & 3

a & b & c

end{bmatrix}

$$

Фигурные скобки (curly brackets, braces):

$$

begin{Bmatrix}

1 & 2 & 3

a & b & c

end{Bmatrix}

$$

Прямые скобки (pipes):

$$

begin{vmatrix}

1 & 2 & 3

a & b & c

end{vmatrix}

$$

Двойные прямые скобки (double pipes):

$$

begin{Vmatrix}

1 & 2 & 3

a & b & c

end{Vmatrix}

$$

матрица в LaTeX

Программирование на R

Jupyter Notebook позволяет писать код на других языках программирования, не только на Питоне. Попробуем написать и исполнить код на R, языке, который специально разрабатывался для data science.

Вначале нам понадобится установить kernel для R. Откроем Anaconda Prompt и введем следующую команду
conda install -c r r-irkernel. В процессе установки система спросит продолжать или нет (Proceed ([y]/n)?). Нажмите y + Enter.

Откройте Jupyter Notebook. В списке файлов создайте ноутбук на R. Назовем его rprogramming.

создание Jupyter Notebook с ядром на R

После установки нового ядра и создания еще одного файла .ipynb схема работы нашего Jupyter Notebook немного изменилась.

схема Jupyter Notebook: пользователь, браузер, сервер, ядра (Python и R), файлы

Теперь мы готовы писать код на R. Мы уже начали знакомиться с этим языком, когда изучали парадигмы программирования. Сегодня мы рассмотрим основные типы данных и особенности синтаксиса.

Переменные в R

Числовые, строковые и логические переменные

Как и в Питоне, в R мы можем создавать числовые (numeric), строковые (character) и логические (logical) переменные.

# поместим число 42 в переменную numeric_var

numeric_var = 42

# строку поместим в переменную text_var

text_var < ‘Hello world!’

# наконец присвоим значение TRUE переменной logical_var

TRUE -> logical_var

Для присвоения значений можно использовать как оператор
=, так и операторы присваивания
< и
->. Обратите внимание, используя
-> мы можем поместить значение слева, а переменную справа.

Посмотрим на результат (в Jupyter Notebook можно обойтись без функции print()).

Выведем класс созданных нами объектов с помощью функции class().

class(numeric_var)

class(text_var)

class(logical_var)

‘numeric’

‘character’

‘logical’

Тип данных можно посмотреть с помощью функции typeof().

typeof(numeric_var)

typeof(text_var)

typeof(logical_var)

‘double’

‘character’

‘logical’

Хотя вывод этих функций очень похож, мы, тем не менее, видим, что классу numeric соответствует тип данных double (число с плавающей точкой с двумя знаками после запятой).

Числовые переменные: numeric, double, integer

По умолчанию, в R и целые числа, и дроби хранятся в формате double.

# еще раз поместим число 42 в переменную numeric_var

numeric_var < 42

# выведем тип данных

typeof(numeric_var)

Принудительно перевести 42 в целочисленное значение можно с помощью функции as.integer().

int_var < as.integer(numeric_var)

typeof(int_var)

Кроме того, если после числа поставить L, это число автоматически превратится в integer.

Превратить integer обратно в double можно с помощью функций as.double() и as.numeric().

typeof(as.double(int_var))

typeof(as.numeric(42L))

Если число хранится в формате строки, его можно перевести обратно в число (integer или double).

text_var < ’42’

typeof(text_var)

typeof(as.numeric(text_var)) # можно также использовать as.double()

typeof(as.integer(text_var))

Вектор

Вектор (vector) — это одномерная структура, которая может содержать множество элементов одного типа. Вектор можно создать с помощью функции c().

# создадим вектор с информацией о продажах товара в магазине за неделю (в тыс. рублей)

sales < c(24, 28, 32, 25, 30, 31, 29)

sales

С помощью функций length() и typeof() мы можем посмотреть соответственно общее количество элементов и тип данных каждого из них.

# посмотрим на общее количество элементов и тип данных каждого из них

length(sales)

typeof(sales)

У вектора есть индекс, который (в отличие, например, от списков в Питоне), начинается с единицы.

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

Отрицательный индекс убирает элементы из вектора.

Именованный вектор (named vector) создается с помощью функции names().

# создадим еще один вектор с названиями дней недели

days_vector < c(‘Понедельник’, ‘Вторник’, ‘Среда’, ‘Четверг’, ‘Пятница’, ‘Суббота’, ‘Воскресенье’)

days_vector

‘Понедельник’ ‘Вторник’ ‘Среда’ ‘Четверг’ ‘Пятница’ ‘Суббота’ ‘Воскресенье’

# создадим именованный вектор с помощью функции names()

names(sales) < days_vector

sales

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

Список

В отличие от вектора, список (list) может содержать множество элементов различных типов.

# список создается с помощью функции list()

list(‘DS’, ‘ML’, c(21, 24), c(TRUE, FALSE), 42.0)

[[1]]

[1] «DS»

[[2]]

[1] «ML»

[[3]]

[1] 21 24

[[4]]

[1]  TRUE FALSE

[[5]]

[1] 42

Матрица

Матрица (matrix) в R — это двумерная структура, содержащая одинаковый тип данных (чаще всего числовой). Матрица создается с помощью функции matrix() с параметрами data, nrow, ncol и byrow.

  • data — данные для создания матрицы
  • nrow и ncol — количество строк и столбцов
  • byrow — параметр, указывающий заполнять ли элементы матрицы построчно (TRUE) или по столбцам (FALSE)

Рассмотрим несколько примеров. Cоздадим последовательность целых чисел (по сути, тоже вектор).

# для этого подойдет функция seq()

sqn < seq(1:9)

sqn

typeof(sqn)

1 2 3 4 5 6 7 8 9

‘integer’

Используем эту последовательность для создания двух матриц.

# создадим матрицу, заполняя значения построчно

mtx < matrix(sqn, nrow = 3, ncol = 3, byrow = TRUE)

mtx

матрица на R, значения заполнены построчно

# теперь создадим матрицу, заполняя значения по столбцам

mtx < matrix(sqn, nrow = 3, ncol = 3, byrow = FALSE)

mtx

матрица на R, значения заполнены по столбцам

Зададим названия для строк и столбцов второй матрицы.

# создадим два вектора с названиями строк и столбцов

rows < c(‘Row 1’, ‘Row 2’, ‘Row 3’)

cols < c(‘Col 1’, ‘Col 2’, ‘Col 3’)

# используем функции rownames() и colnames(),

# чтобы передать эти названия нашей матрице

rownames(mtx) < rows

colnames(mtx) < cols

# посмотрим на результат

mtx

матрица на R с названиями столбцов и строк

Посмотрим на размерность этой матрицы с помощью функции dim().

Массив

В отличие от матрицы, массив (array) — это многомерная структура. Создадим трехмерный массив размерностью 3 х 2 х 3. Вначале создадим три матрицы размером 3 х 2.

# создадим три матрицы размером 3 х 2,

# заполненные пятерками, шестерками и семерками

a < matrix(5, 3, 2)

b < matrix(6, 3, 2)

c < matrix(7, 3, 2)

Теперь соединим их с помощью функции array(). Передадим этой функции два параметра в форме векторов: данные (data) и размерность (dim).

arr < array(data = c(a, b, c), # вектор с матрицами

             dim = c(3, 2, 3))  # вектор размерности

print(arr)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

, , 1

     [,1] [,2]

[1,]    5    5

[2,]    5    5

[3,]    5    5

, , 2

     [,1] [,2]

[1,]    6    6

[2,]    6    6

[3,]    6    6

, , 3

     [,1] [,2]

[1,]    7    7

[2,]    7    7

[3,]    7    7

Факторная переменная

Факторная переменная или фактор (factor) — специальная структура для хранения категориальных данных. Вначале немного теории.

Как мы узнаем на курсе анализа данных, категориальные данные бывают номинальными и порядковыми. Номинальные категориальные (nominal categorical) данные представлены категориями, в которых нет естественного внутреннего порядка. Например, пол или цвет волос человека, марка автомобиля могут быть отнесены к определенным категориям, но не могут быть упорядочены.

Порядковые категориальные (ordinal categorical) данные наоборот обладают внутренним, свойственным им порядком. К таким данным относятся шкала удовлетворенности потребителей, класс железнодорожного билета, должность или звание, а также любая количественная переменная, разбитая на категории (например, низкий, средний и высокий уровень зарплат).

Посмотрим, как учесть такие данные с помощью R. Начнем с номинальных данных.

# предположим, что мы собрали данные о цветах нескольких автомобилей и поместили их в вектор

color_vector < c(‘blue’, ‘blue’, ‘white’, ‘black’, ‘yellow’, ‘white’, ‘white’)

# преобразуем этот вектор в фактор с помощью функции factor()

factor_color < factor(color_vector)

factor_color

номинальный фактор на R

Как вы видите, функция factor() разбила данные на категории, при этом эти категории остались неупорядоченными. Посмотрим на класс созданного объекта.

Теперь поработаем с порядковыми данными.

# возьмем данные измерений температуры, выраженные категориями

temperature_vector < c(‘High’, ‘Low’, ‘High’,‘Low’, ‘Medium’, ‘High’, ‘Low’)

# создадим фактор

factor_temperature < factor(temperature_vector,

                             # указав параметр order = TRUE

                             order = TRUE,

                             # а также вектор упорядоченных категорий

                             levels = c(‘Low’, ‘Medium’, ‘High’))

# посмотрим на результат

factor_temperature

порядковый фактор на R

Выведем класс созданного объекта.

class(factor_temperature)

Добавлю, что количество элементов в каждой из категорий можно посмотреть с помощью функции summary().

summary(factor_temperature)

количество элементов в каждой из категорий порядкового фактора

Датафрейм

Датафрейм в R выполняет примерно ту же функцию, что и в Питоне. С помощью функции data.frame() создадим простой датафрейм, гда параметрами будут названия столбцов, а аргументами — векторы их значений.

df < data.frame(city = c(‘Москва’, ‘Париж’, ‘Лондон’),

                 population = c(12.7, 2.1, 8.9),

                 country = c(‘Россия’, ‘Франция’, ‘Великобритания’))

df

датафрейм на R

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

# выведем значения первой строки и первого столбца

df[1, 1]

индекс ячеек датафрейма на R

# выведем всю первую строку

df[1,]

первая строка датафрейма на R

# выведем второй столбец

df[,2]

Получить доступ к столбцам можно и так.

Дополнительные пакеты

Как и в Питоне, в R мы можем установить дополнительные пакеты через Anaconda Prompt. Например, установим пакет ggplot2 для визуализации данных. Для этого введем команду
conda install r-ggplot2.

В целом команда установки пакетов для R следующая:
conda install r-<package_name>.

Продемонстрируем работу с этим пакетом с помощью несложного датасета mtcars.

# импортируем библиотеку datasets

library(datasets)

# загрузим датасет mtcars

data(mtcars)

# выведем его на экран

mtcars

датасет mtcars на R

Примечание. Здесь приведена лишь часть датасета.

Теперь импортируем установленную ранее библиотеку ggplot2.

Построим гистограмму по столбцу mpg (miles per galon, расход в милях на галлон топлива). Для построения гистограммы нам потребуется через «+» объединить две функции:

  • функцию ggplot(), которой мы передадим наши данные и еще одну функцию aes(), от англ. aesthetics, которая свяжет ось x нашего графика и столбец данных mpg, а также
  • функцию geom_histogram() с параметрами bins (количество интервалов) и binwidth (их ширина), которая и будет отвечать за создание гистограммы

# данными будет датасет mtcars, столбцом по оси x — mpg

ggplot(data = mtcars, aes(x = mpg)) +

# типом графика будет гистограмма с 10 интервалами шириной 5 миль на галлон каждый

geom_histogram(bins = 10, binwidth = 5)

гистограмма в R

Примерно также мы можем построить график плотности распределения (density plot). Только теперь мы передадим функции aes() еще один параметр
fill = as.factor(vs), который (предварительно превратив столбец в фактор через as.factor()) позволит разбить данные на две категории по столбцу vs. В этом датасете признак vs указывает на конфигурацию двигателя (расположение цилиндров), v-образное, v-shaped (vs == 0) или рядное, straight (vs == 1).

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

ggplot(data = mtcars, aes(x = mpg, fill = as.factor(vs))) +

geom_density(alpha = 0.3)

график плотности в R

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

mean(mtcars$mpg)

median(mtcars$mpg)

Кроме того, мы можем применить уже знакомую нам функцию summary(), которая для количественного столбца выдаст минимальное и максимальное значения, первый (Q1) и третий (Q2) квартили, а также медиану и среднее значение.

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.

  10.40   15.43   19.20   20.09   22.80   33.90

В файле ниже содержится созданный нами код на R.

Вернемся к основной теме занятия.

Подробнее про Anaconda

Conda

Программа conda, как уже было сказано, объединяет в себе систему управления пакетами (как pip) и, кроме того, позволяет создавать окружения.

Идея виртуального окружения (virtual environment) заключается в том, что если в рамках вашего проекта вы, например, используете определенную версию библиотеки Numpy и установка более ранней или более поздней версии приведет к сбоям в работе вашего кода, хорошим решением была бы изоляция нужной версии Numpy, а также всех остальных используемых вами библиотек. Именно для этого и нужно виртуальное окружение.

Рассмотрим, как мы можем устанавливать пакеты и создавать окружения через Anaconda Prompt и через Anaconda Navigator.

Anaconda Prompt

Про пакеты. По аналогии с pip, установленные (в текущем окружении) пакеты можно посмотреть с помощью команды
conda list.

Установить пакет можно с помощью команды
conda install <package_name>. Обновить пакет можно через
conda update <package_name>. Например, снова попробуем установить Numpy. о

установка пакета через Anaconda Prompt

Про окружения. По умолчанию мы работаем в базовом окружении (base environment). Посмотреть, какие в целом установлены окружения можно с помощью команды
conda info —envs.

перечень виртуальных сред в Anaconda Prompt

Как вы видите, пока у нас есть только одно окружение. Давайте создадим еще одно виртуальное окружение и назовем его, например, waterfall.

Введите команду
conda create —name waterfall.

создание новой виртуальной среды в Anaconda Prompt

Введем две команды

  • conda activate waterfall для активации нового окружения
  • conda list для того, чтобы посмотреть установленные в нем пакеты

пакеты, установленные в новой виртуальной среде

Как вы видите, в новом окружении нет ни одного пакета. Введем
conda search seaborn, чтобы посмотреть какие версии этого пакета доступны для скачивания.

доступные для скачивания из репозитория Anaconda версии пакета seaborn

Скачаем этот пакет через
conda install seaborn. Проверим установку с помощью
conda list.

установка пакета seaborn через Anaconda Prompt

Как вы видите, помимо seaborn было установлено множество других необходимых для работы пакета библиотек. Вернуться в базовое окружение можно с помощью команд
conda activate base или
conda deactivate.

Импорт модулей и переменная path

На прошлом занятии мы научились импортировать собственный модуль в командной строке Windows (cmd).

Посмотрим, отличается ли содержимое списка path для двух установленных версий Питона. Для этого в командной строке Windows и в Anaconda Prompt перейдем в интерактивный режим с помощью
python. Затем введем

содержимое переменной path в двух дистрибутивах Питона (python.org и Anaconda)

Как мы видим, пути в переменной path будут отличаться и это нужно учитывать, если мы хотим локально запускать собственные модули.

Anaconda Navigator

Запускать программы, управлять окружениями и устанавливать необходимые библиотеки можно также через Anaconda Nagivator. На вкладке Home вы видите программы, которые можно открыть (launch) или установить (install) для текущего окружения.

Anaconda Navigator: вкладка Home

На вкладке Environments отображаются созданные нами окружения (в частности, окружение waterfall, которое мы создали ранее) и содержащиеся в них пакеты.

Anaconda Navigator: вкладка Environments

В целом интерфейс интуитивно понятен, и так как мы уже познакомились с принципом создания окружений и установки в них дополнительных пакетов, уверен, работа с Anaconda Navigator сложностей не вызовет.

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

JupyterLab

JupyterLab — расширенная версия Jupyter Notebook, которая также входит в дистрибутив Anaconda. Запустить эту программу можно через Anaconda Navigator или введя команду
jupyter lab в Anaconda Prompt.

После запуска вы увидите вкладку Launcher, в которой можно создать новый ноутбук (Notebook) на Питоне или R, открыть консоль (Console) на этих языках, а также создать файлы в различных форматах (Other). Слева вы видите список папок компьютера.

JupyterLab: вкладка Launcher

В разделе Console нажмем на Python 3 (ipykernel). Введем несложный код (см. ниже) и исполним его, нажимая Shift + Enter.

консоль на Python в JupyterLab

Как вы видите, здесь мы можем писать код на Питоне так же, как мы это делали в командной строке Windows на прошлом занятии. Закроем консоль.

В файловой системе слева мы можем открывать уже созданные ноутбуки. Например, откроем ноутбук на R rprogramming.ipynb.

ноутбук на R в JupyterLab

В левом меню на второй сверху вкладке мы видим открытые горизонтальные вкладки (Launcher и rprogramming.ipynb), а также запущенные ядра (kernels).

открытые ноутбуки и запущенные ядра в JupyterLab

Консольные ядра (Console 1 и Console 2) можно открыть (по сути, мы снова запустим консоль).

консоль на R в JupyterLab

Две оставшиеся вертикальные вкладки открывают доступ к автоматическому оглавлению (content) и расширениям (extensions).

автоматическое оглавление в JupyterLab

расширения в JupyterLab

Вкладки Run и Kernel в верхнем меню JupyterLab в целом аналогичны вкладкам Cell и Kernel в JupyterNotebook.

Подведем итог

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

Говоря о программе Jupyter Notebook, мы узнали про возможности работы с ячейками и ядром программы. Кроме того, мы познакомились с языком разметки Markdown и написанием формул с помощью языка верстки LaTeX.

После этого мы установили ядро для программирования на R и рассмотрели основы этого языка.

При изучении дистрибутива Anaconda мы позникомились с системой conda и попрактиковались в установке библиотек и создании окружений через Anaconda Prompt и Anaconda Navigator.

Наконец мы узнали про особенности программы JupyterLab.

Вопросы для закрепления

Вопрос. Что такое Anaconda?

Посмотреть правильный ответ

Ответ: Anaconda — это дистрибутив Питона (с репозиторием пакетов) и отдельной программой управления окружениями и пакетами conda. Пользователь может взаимодействовать с этой программой через терминал (Anaconda Prompt) и графический интерфейс (Anaconda Navigator).

Помимо этого, в дистрибутив Anaconda входят, среди прочих, программы Jupyter Notebook и JupyterLab.

Вопрос. Какой тип ячеек доступен в Jupyter Notebook?

Посмотреть правильный ответ

Ответ: в Jupyter Notebook есть два основных типа ячеек — ячейки для написания кода (в частности, на Питоне и R) и текстовые ячейки, поддерживающие Markdown и LaTeX.

Вопрос. Для чего нужно виртуальное окружение?

Посмотреть правильный ответ

Ответ: виртуальное окружение (virtual environment) позволяет установить и изолировать определенные версии Питона и его пакетов. Таким образом код, написанный с учетом конкретной версии Питона и дополнительных библиотек, исполнится без ошибок.


Ответы на вопросы

Вопрос. Можно ли исполнить код на R в Google Colab?

Ответ. Да, это возможно. Причем двумя способами.

Способ 1. Откройте ноутбук. Введите и исполните команду
%load_ext rpy2.ipython. В последующих ячейках введите
%R, чтобы в этой же строке написать код на R или
%%R, если хотите, чтобы вся ячейка исполнилась как код на R (так называемые магические команды).

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

# введем магическую команду, которая позволит программировать на R

%load_ext rpy2.ipython

# команда %%R позволит Colab распознать ячейку как код на R

%%R

# кстати, числовой вектор можно создать просто с помощью двоеточия

x < 1:10

x

# при этом ничто не мешает нам продолжать писать код на Питоне

import numpy as np

np.mean([1, 2, 3])

Приведенный выше код можно найти в дополнительных материалах⧉ к занятию.

Способ 2. Если вы хотите, чтобы весь код исполнялся на R (как мы это делали в Jupyter Notebook), создайте новый ноутбук используя одну из ссылок ниже:

  • https://colab.research.google.com/#create=true&language=r⧉
  • https://colab.to/r⧉

Теперь, если вы зайдете на вкладку Runtime → Change runtime type, то увидите, что можете выбирать между Python и R.

ноутбук на R в Google Colab

Выведем версию R в Google Colab.

‘R version 4.2.0 (2022-04-22)’

Посмотреть на установленные пакеты можно с помощью
installed.packages(). Созданный ноутбук Google Colab на R доступен по ссылке⧉.


Вопрос. Очень медленно загружается Anaconda. Можно ли что-то сделать?

Ответ. Можно работать через Anaconda Prompt, эта программа быстрее графического интерфейса Anaconda Navigator.

Кроме того, можно использовать дистрибутив Miniconda⧉, в который входит conda, Питон и несколько ключевых пакетов. Остальные пакеты устанавливаются вручную по мере необходимости.


Вопрос. Разве Jupyter не должен писаться через i, как Jupiter?

Ответ. Вы правы в том плане, что название Jupyter Notebook происходит не от планеты Юпитер, которая по-английски как раз пишется через i (Jupiter), а представляет собой акроним от названий языков программирования Julia, Python и R.

При этом, как утверждают разработчики⧉, слово Jupyter также отсылает к тетрадям (notebooks) Галилея, в которых он, в частности, документировал наблюдение за лунами Юпитера.


Вопрос. В каких еще программах можно писать код на Питоне и R?

Ответ. Таких программ несколько. Довольно удобно пользоваться облачным решением Kaggle. Там можно создавать как скрипты (scripts, в том числе RMarkdown Scripts), так и ноутбуки на Питоне и R. Подробнее можно почитать в документации⧉ на их сайте.


Вопрос. Можно ли создать виртуальное окружение каким-либо другим способом помимо программы conda?

Ответ. Да, можно. Вот здесь⧉ есть хорошая видео-инструкция.

Вот коротко какие шаги нужно выполнить.

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

Шаг 1. Создайте папку с вашим проектом, например, пусть это будет папка webapp для веб-приложения на популярном фреймворке для Питона Django.

папка с проектом веб-приложения

Шаг 2. В командной строке перейдите в папку webapp.

переход в папку с проектом веб-приложения в командной строке

Затем введите команду для создания виртуального окружения.

По сути мы говорим Питону создать окружение djenv (название может быть любым) с помощью модуля venv. Переключатель (flag или switch)
-m подсказывает питону, что venv — это модуль, а не файл.

После выполнения этой команды создается папка djenv виртуального окружения.

папка виртуального окружения

Шаг 3. Активируем это виртуальное окружение следующей командой.

активация виртуального окружения в командной строке

Здесь мы обращаемся к файлу activate внутри папки Scripts. Как вы видите, название окружения появилось слева от пути к папке.

Теперь через pip можно устанавливать пакеты, которые будут «видны» только внутри виртуального окружения djenv.

Шаг 4. Выйти из этого виртуального окружения можно с помощью команды deactivate. Если вам нужно удалить окружение, сначала деактивируйте его, а затем вручную удалите соответствующую папку.

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

Contents

  • Prerequisite: Python
  • Installing Jupyter using Anaconda and conda
  • Alternative for experienced Python users: Installing Jupyter with pip

This information explains how to install the Jupyter Notebook and the IPython
kernel.

Prerequisite: Python¶

While Jupyter runs code in many programming languages, Python is
a requirement (Python 3.3 or greater, or Python 2.7) for installing
the Jupyter Notebook.

We recommend using the Anaconda
distribution to install Python and Jupyter. We’ll go through its installation
in the next section.

Installing Jupyter using Anaconda and conda¶

For new users, we highly recommend installing Anaconda. Anaconda conveniently
installs Python, the Jupyter Notebook, and other commonly used packages for
scientific computing and data science.

Use the following installation steps:

  1. Download Anaconda. We recommend
    downloading Anaconda’s latest Python 3 version (currently Python 3.5).

  2. Install the version of Anaconda which you downloaded, following the
    instructions on the download page.

  3. Congratulations, you have installed Jupyter Notebook. To run the notebook:

    See Running the Notebook for more details.

Alternative for experienced Python users: Installing Jupyter with pip¶

Important

Jupyter installation requires Python 3.3 or greater, or
Python 2.7. IPython 1.x, which included the parts that later became Jupyter,
was the last version to support Python 3.2 and 2.6.

As an existing Python user, you may wish to install Jupyter using Python’s
package manager, pip, instead of Anaconda.

First, ensure that you have the latest pip;
older versions may have trouble with some dependencies:

pip3 install --upgrade pip

Then install the Jupyter Notebook using:

(Use pip if using legacy Python 2.)

Congratulations. You have installed Jupyter Notebook. See
Running the Notebook for more details.

How to: Как установить Jupyter Notebook.

Introduction

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

JN

Requirements

Операционная система: Windows, Mac, Linux.

Python 3.3 или выше.

Installation

Для начала нам нужен Python.

Идем на сайт https://www.python.org/downloads/ и скачиваем последнюю версию для своей операционной системы.

Screenshot 2021-01-17 223818

Далее на примере Windows 10 pro запускаем установочный файл и перезапускаем компьютер.

Screenshot 2021-01-17 224535

Теперь нам надо убедиться, что у вас установлен python версии 3.3 и выше. На Mac и во многих дистрибутивах Linux python уже установлен по умолчанию. В Windows же его нужно устанавливать дополнительно.

Для этого открываем командную строку или cmd.

Screenshot 2021-01-17 234842

Вводим тескт python и нажимаем Enter.

Screenshot 2021-01-17 224915

Теперь, надо запустить Jupyter Notebook.

Для этого мы переоткрываем командную строку, и вводим python -m pip install jupyter и нажимаем Enter.
После этого начнется загрузка jupyter notebook.

Screenshot 2021-01-17 230948

Начало работы

Для начала работы, опять перезаходим в командную строку, печатаем jupyter-notebook и нажимаем Enter.

Screenshot 2021-01-17 232838

Это запустит сервер, а браузер откроет новую вкладку со следующим URL: https://localhost:8888/tree

Screenshot 2021-01-17 231621

В этой вкладке мы и будем работать. Вкладка cmd должна быть открыта на протяжении всей вашей работы с Jupyter Notebook.

Если вы увлекаетесь наукой о данных, Jupyter Notebook может стать отличным способом начать работу с вашими проектами по науке о данных.

В этом руководстве мы рассмотрим:

  • Что такое блокнот Jupyter
  • почему он популярен для случаев использования науки о данных
  • Инструкции по настройке ноутбука Jupyter на вашем компьютере

Давайте начнем…

Jupyter Notebook — это интерактивная браузерная платформа для научных вычислений. Это флагманский продукт с открытым исходным кодом Проект Юпитер и широко используется в науке о данных.

Полезные функции Jupyter Notebook

Помимо предоставления интерактивной платформы кодирования, Jupyter Notebook поддерживает как кодовые, так и текстовые ячейки. Текстовые ячейки допускают форматирование Markdown. Таким образом, вы можете использовать простой текст, изображения, математические уравнения LaTex и многое другое для объяснения рабочего процесса вашего проекта.

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

Ячейки Markdown и Code в Jupyter Notebook

Чтобы запустить ячейку, вы можете нажать кнопку Run [▶] кнопка. Или вы можете использовать Shift + Enter, чтобы запустить ячейку. Заголовки и изображения отображаются после запуска ячеек.

Ячейки ноутбука Jupyter

Теперь давайте перечислим некоторые другие полезные функции Jupyter Notebook.

  • Поддержка популярных языков программирования для науки о данных, таких как Python, R, Julia и Scala.
  • Возможность делиться блокнотами с другими соавторами
  • Возможность интеграции больших данных с помощью Spark
  • На следующем изображении показаны этапы любого проекта по науке о данных. Доступ к данным из файловой системы на вашем компьютере, предварительная обработка данных, анализ для построения моделей машинного обучения — все это вы можете делать в Jupyter Notebook.

Теперь, когда вы узнали о Jupyter Notebook и его функциях, давайте перейдем к тому, как установить его на свой компьютер.👩🏽‍💻

Как установить ноутбук Jupyter

Установка с использованием дистрибутива Anaconda

Если вы новичок, рекомендуется использовать дистрибутив Python Anaconda. Помимо Python, он поставляется с несколькими предустановленными полезными пакетами для обработки данных. В установку также входят такие инструменты Jupyter, как Jupyter Notebook и JupyterLab.

Теперь давайте пройдемся по шагам этой установки.

Шаг 1: Зайдите на официальный сайт Анаконда. Затем перейдите к anaconda.com/products/individual. И скачайте установщик, соответствующий вашей операционной системе.

Установка дистрибутива Anaconda

Шаг 2: Теперь запустите программу установки. Следуйте инструкциям на экране, чтобы завершить установку. Установка обычно занимает несколько минут. ⏳

Вы можете запустить Jupyter Notebook после завершения процесса установки. И есть несколько разных способов сделать это.

Шаг 3: После завершения установки вы можете запустить Anaconda Navigator. В навигаторе нажмите «Запуск» на вкладке Jupyter Notebook, как показано ниже:

Запуск Jupyter Notebook из Anaconda Navigator

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

Вы также можете запустить Jupyter Notebook из командной строки Anaconda.

Установка с помощью диспетчера пакетов pip

У вас уже установлен Python в вашей системе? И хотели бы вы начать использовать Jupyter, не используя дистрибутив Anaconda?

Если да, вы можете сделать это с помощью диспетчера пакетов pip. Вы можете использовать pip для установки любого пакета Python, который является частью Указатель пакетов Python— репозиторий программного обеспечения для сообщества разработчиков Python.

В этом разделе давайте наметим шаги для операционных систем Windows и Linux.

Установите Jupyter Notebook с помощью pip в Windows

Начнем с инструкции по установке для Windows.

Шаг 1: Запустите следующую команду, чтобы проверить версию Python, установленную в вашей системе. Вы можете запускать команды из Windows Powershell или командной строки на своем компьютере. Или вы можете запустить в среде оболочки по вашему выбору, например Гит Баш для Windows, если вы являетесь пользователем Git.

python --version

Примечание. Почти все установки Python3 (Python 3.x) поставляются с предустановленным менеджером пакетов pip.

Шаг 2: Затем запустите эту команду, чтобы проверить версию pip, установленную на вашем компьютере.

pip3 --version

Если вы столкнулись с ошибками из-за того, что не установили pip, обновите установку Python. Вы можете загрузить и установить самую последнюю версию Python здесь.

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

pip3 install --upgrade pip

Шаг 4: Теперь, когда вы установили и обновили pip, используйте его для установки Jupyter с помощью следующей команды.

pip3 install jupyter

Загрузка и установка займут несколько минут.⏳

Шаг 5: Чтобы запустить блокнот Jupyter, выполните эту команду.

jupyter notebook

Установите ноутбук Jupyter с помощью pip в Ubuntu

Все основные дистрибутивы Linux, включая Ubuntu, имеют установленную версию Python. Чтобы установить Jupyter Notebook, вам нужно сначала вручную установить pip. Затем вы можете использовать pip для установки Jupyter и других пакетов.

Шаг 1: Чтобы установить pip, выполните следующую команду на своем терминале.

apt install python3-pip

Шаг 2: Затем установите jupyter, выполнив эту команду. Установка займет несколько минут.

pip3 install jupyter

Шаг 3: Теперь запустите блокнот Jupyter, выполнив следующую команду.

jupyter notebook

Вывод

Надеюсь, вы поняли, что такое блокнот Jupyter и как его установить на свой компьютер. Если вам интересно, вы также можете ознакомиться с другими предложениями Project Jupyter. ЮпитерЛаб основан на классическом блокноте Jupyter и предлагает дополнительные функции.

Если вы хотите начать работу с наукой о данных, я желаю вам удачи в вашем обучении!✨

Jupyter Notebook — это среда разработки для написания и выполнения кода Python. Некоммерческая организация Project Jupyter с открытым исходным кодом поддерживает программное обеспечение. Он состоит из последовательности ячеек, каждая из которых содержит небольшой пример кода или документацию в формате Markdown. Разработчики могут выполнить ячейку и увидеть ее вывод сразу под кодом. Гениальный дизайн создает мгновенную петлю обратной связи, позволяя программисту запускать свой код и вносить в него соответствующие изменения.

Ячейки Jupyter Notebook также поддерживают аннотации, аудиофайлы, видео, изображения, интерактивные диаграммы и многое другое. Это еще одно важное преимущество программного обеспечения; вы можете рассказать историю с вашим кодом. Читатели могут видеть шаги, которые вы выполнили, чтобы получить результат.

Вы можете импортировать пакеты Python, такие как pandas, NumPy или TensorFlow, прямо в Блокнот.

Jupyter Notebook – это веб-оболочка для Ipython (ранее называлась IPython Notebook). Это веб-приложение с открытым исходным кодом, которое позволяет создавать и обмениваться документами, содержащими живой код, уравнения, визуализацию и разметку.
Первоначально IPython Notebook ограничивался лишь Python в качестве единственного языка. Jupyter Notebook позволил использовать многие языки программирования, включая Python, R, Julia, Scala и F#.

Установка/инсталляция Jupyter Notebook — pip3 install jupyter

Install Jupyter Notebook на Ubuntu 20.14

Установка классического блокнота Jupyter без виртуальной среды осуществляется очень просто. Для этого необходимо запустить 2 команды:

pip install notebook

После этого на вашей рабочей машине установится jupyter notebook. Теперь его необходимо запустить командой:

jupyter notebook

Откроется окно по адресу localhost:8888/

Install Jupyter Notebook на Windows

Аналогично без виртуальной среды блокнот Jupyter можно установить и на винду. Запускаем команду:

pip install notebook

и после завершения установки запускаем команду:

jupyter-notebook

Установка Jupyter Notebook в Docker через Docker-Compose

todo

Установка Jupyter Notebook через virtual env на Windows

Создаем директорию проекта, например:

D:#python##envjupyter

Далее в этой директории создаем виртуальную среду с помощью команды:

python3 -m venv venv

или

python -m venv venv

Далее переходим в директорию D:#python##envjupytervenvScripts и запускаем activate. Должна активироваться среда venv:

D:#python##envjupytervenvScripts>activate 
(venv) D:#python##envjupytervenvScripts>

Далее запустите в активированной виртуальной среде venv установку jupyter notebook:

(venv) D:#python##envjupytervenvScripts>pip install notebook
Collecting notebook
  Using cached notebook-6.4.10-py3-none-any.whl (9.9 MB)
Collecting jupyter-client>=5.3.4
  Downloading jupyter_client-7.2.2-py3-none-any.whl (130 kB)
     |████████████████████████████████| 130 kB 128 kB/s
Collecting nbconvert>=5
  Using cached nbconvert-6.4.5-py3-none-any.whl (561 kB)
.....
.....
.....
Installing collected packages: .....
Successfully installed .....

После завершения установки внутри venv нужно подняться в корень директории jupyter и запустить jupyter-notebook:

(venv) D:#python##envjupytervenvScripts>cd ..

(venv) D:#python##envjupytervenv>cd ..

(venv) D:#python##envjupyter>jupyter-notebook

[I 06:14:46.674 NotebookApp] Serving notebooks from local directory: D:#python##envjupyter
[I 06:14:46.674 NotebookApp] Jupyter Notebook 6.4.10 is running at:
[I 06:14:46.678 NotebookApp] http://localhost:8888/?token=443ed7feca651de8172b6f043ea0cf42645ddbc406a784d1
[I 06:14:46.681 NotebookApp]  or http://127.0.0.1:8888/?token=443ed7feca651de8172b6f043ea0cf42645ddbc406a784d1
[I 06:14:46.682 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 06:14:46.835 NotebookApp]
    To access the notebook, open this file in a browser:
        file:///C:/Users/Ivan/AppData/Roaming/jupyter/runtime/nbserver-1952-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/?token=443ed7feca651de8172b6f043ea0cf42645ddbc406a784d1
     or http://127.0.0.1:8888/?token=443ed7feca651de8172b6f043ea0cf42645ddbc406a784d1

Выглядит это так:

Откроется окно в браузере:

Повторный запуск среды осуществляется из виртуальной среды (сначала ее нужно активировать).

Установка Jupyter Notebook через virtual env на Ubuntu 20.14

# Создаем директорию проекта с виртуальной средой
mkdir jupyter-env

# Переходим внутрь проекта
cd jupyter-env

# Создаем среду myenv
python3 -m venv myenv

# Активируем среду
source myenv/bin/activate

# Запускаем установку jupyter 
pip install notebook

# Запускаем jupyter notebook внутри venv
jupyter notebook

Как устроен Jupyter Notebook. Как работает Jupyter Notebook

Общий вид Jupyter Notebook

Сначала пользователь взаимодействует с браузером, после чего на сервер Notebook отправляется запрос. Это может быть запрос HTTP или WebSocket.

Если код пользователя должен быть выполнен, сервер ноутбука отправляет его ядру (kernel) в сообщениях ZeroMQ. Ядро возвращает результаты выполнения.

Затем сервер Notebook возвращает пользователю HTML-страницу. Когда пользователь сохраняет документ, он отправляется из браузера на сервер Notebook. Сервер сохраняет его на диске в виде файла JSON с .ipynb расширением. Этот файл блокнота содержит код, выходные данные и примечания в формате markdown.

Ядро (Kernel) ничего не знает о документе блокнота: оно просто получает отправленные ячейки кода для выполнения, когда пользователь запускает их.

Блокноты Jupyter — это структурированные данные, которые представляют ваш код, метаданные, контент и выходные данные.

IPython Kernel (Ядро IPython)

Когда мы обсуждаем IPython, мы говорим о двух основных ролях:

  • Terminal IPython как знакомый REPL.
  • Ядро IPython, которое обеспечивает вычисления и связь с внешними интерфейсами, такими как ноутбук.

REPL – это форма организации простой интерактивной среды программирования в рамках средств интерфейса командной строки (REPL, от англ. Read-Eval-Print-Loop — цикл «чтение — вычисление — вывод»), которая поставляется вместе с Python. Чтобы запустить IPython, просто выполните команду ipython из командной строки/терминала.

Terminal IPython

Когда вы набираете ipython, вы получаете исходный интерфейс IPython, работающий в терминале. Он делает что-то вроде этого (упрощенная модель):

while True:
    code = input(">>> ")
    exec(code)

Эту модель часто называют REPL или Read-Eval-Print-Loop.

IPython Kernel

Все остальные интерфейсы — notebook, консоль Qt, ipython console в терминале и сторонние интерфейсы — используют Python Kernel.

Python Kernel — это отдельный процесс, который отвечает за выполнение пользовательского кода и такие вещи, как вычисление possible completions (возможных завершений). Внешние интерфейсы, такие как блокнот или консоль Qt, взаимодействуют с ядром IPython, используя сообщения JSON, отправляемые через сокеты ZeroMQ (протокол, используемый между интерфейсами и ядром IPython).

Основной механизм выполнения ядра используется совместно с терминалом IPython:

Jupyter Lab

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

На конференции SciPy 2016 был анонсирован проект JupyterLab. Он был описан как естественная эволюция интерфейса Jupyter Notebook.

Кодовая база Notebook устарела, и ее становилось все труднее расширять. Стоимость поддержки старой кодовой базы и реализации новых функций поверх нее постоянно росла.

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

Ценность Jupyter Notebook/JupyterLab для аналитиков данных

Разница между профессией data analyst/data scientist от разработки ПО заключается в отсутствии чёткого ТЗ на старте. Правильная постановка задачи в сфере анализа данных — это уже половина решения.

Первым этапом производится детальный анализ Initial Data (исходных данных) или Exploratory Data Analysis (Разведочный анализ данных), затем выдвигается одна или несколько гипотез. Эти шаги требуют значительных временных ресурсов.

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

Исходя из этих соображений тратить силы на скурпулёзное и чистый код, git и т.д. бессмысленно — в первую очередь становится важным быстро создавать прототипы решений, ставить эксперименты над данными. Помимо этого, достигнутые результаты и обнаруженные инсайты или необычные наблюдения над данными приходится итерационно презентовать коллегам и заказчикам (внешним или внутренним). Jupyter Notebook или JupyterLab позволяет выполнять описанные задачи с помощью доступного функционала без дополнительных интеграций:

По факту, JupyterLab — это лабораторный журнал 21 века с элементами интерактивности, в котором вы можете оформить результаты работы с данными в формате markdown с использованием формул из latex. Также в JupyterLab можно писать и запускать код, вставлять в отчет картинки, отрисовывать графики, таблицы, дашборды.

Установка JupyterLab на Ubuntu 20.14

Установка производится одной командой

pip install jupyterlab

После инсталляции запустите команду

jupyter-lab

И откроется интерфейс:

Установка JupyterLab на Windows

Инсталляция и запуск на винде производится аналогично, как и на Ubuntu, командой pip instal jupyterlab.

В чем разница между Jupyter Notebook и JupyterLab?

Jupyter Notebook — это интерактивная вычислительная среда с веб-интерфейсом для создания документов Jupyter Notebook. Он поддерживает несколько языков, таких как Python (IPython), Julia, R и т.д., и в основном используется для анализа данных, визуализации данных и дальнейших интерактивных исследовательских вычислений.

JupyterLab — это пользовательский интерфейс нового поколения, включая ноутбуки. Он имеет модульную структуру, в которой вы можете открыть несколько записных книжек или файлов (например, HTML, Text, Markdowns и т.д.) в виде вкладок в одном окне. Он предлагает больше возможностей, подобных IDE.

Новичку я бы посоветовал начать с Jupyter Notebook, так как он состоит только из файлового браузера и представления редактора (Notebook). Это проще в использовании. Если вам нужны дополнительные функции, переключитесь на JupyterLab. JupyterLab предлагает гораздо больше функций и улучшенный интерфейс, который можно расширить с помощью расширений: JupyterLab Extensions.

Начиная с версии 3.0, JupyterLab также поставляется с визуальным отладчиком, который позволяет интерактивно устанавливать точки останова, переходить к функциям и проверять переменные.

JupyterLab — это совершенно фантастический инструмент как для создания plotly фигур, так и для запуска полных приложений Dash как встроенных, в виде вкладок, так и внешних в браузере.

Основы работы и обзор функциональности Jupyter Notebook

Из чего состоит Jupiter Notebook

Если щелкнуть по файлу с расширением .ipynb, откроется страница с Jupiter Notebook.

Отображаемый Notebook представляет собой HTML-документ, который был создан Jupyter и IPython. Он состоит из нескольких ячеек, которые могут быть одного из трех типов:

  • Сode (активный программный код),
  • Markdown (текст, поясняющий код, более развернутый, чем комментарий),
  • Raw NBConvert (пассивный программный код).

Jupyter запускает ядро IPython для каждого Notebook.

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

Двойной щелчок по любой из этой ячеек позволит отредактировать ее. По завершении редактирования содержимого ячейки, нажмите Shift + Enter, после чего Jupyter/IPython проанализирует содержимое и отобразит результаты.

Если выполняемая ячейка является ячейкой кода, это приведет к выполнению кода в ячейке и отображению любого вывода непосредственно под ним. На это указывают слова «In» и «Out», расположенные слева от ячеек.

Магические функции Jupiter Notebook

Все magic-функции (их еще называют magic-командами) начинаются

  • со знака %, если функция применяется к одной строке,
  • и %%, если применяется ко всей ячейке Jupyter.

Чтобы получить представление о времени, которое потребуется для выполнения функции, приведенной выше, мы воспользуемся функцией %timeit.

%timeit

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

%matplotlib inline

%matplotlib inline позволяет выводит графики непосредственно в тетрадке.

На экранах с высоким разрешением типа Retina графики в тетрадках Jupiter по умолчанию выглядят размытыми, поэтому для улучшения резкости используйте

%config InlineBackend.figure_format = 'retina'

после %matplotlib inline.

jupyter markdown

туду

jupyter server

туду

jupyter config

туду

jupyter hub

JupyterHub: позволяет предоставлять нескольким пользователям (группам сотрудников) доступ к Notebook и другим ресурсам. Это может быть полезно для студентов и компаний, которые хотят, чтобы группа (группы) имела доступ к вычислительной среде и ресурсам и использовала их без необходимости установки и настройки. Управление которыми могут осуществлять системные администраторы. Доступ к отдельным блокнотам и JupyterLab можно получить через Hub. Hub может работать в облаке или на собственном оборудовании группы.

jupyter команды

туду

pycharm jupyter

туду

Виджеты Jupyter

Виджеты можно использовать для интерактивных элементов в блокнотах (например, ползунок).

Jupyter Widgets — это событийные объекты Python, которые имеют представление в браузере, часто в виде элемента управления, такого как ползунок, текстовое поле и т. д.

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

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

Чтобы использовать структуру виджетов, вам необходимо импортировать файлы ipywidgets.

Почему отображение одного и того же виджета дважды работает?

Виджеты представлены в бэкенде одним объектом. Каждый раз, когда отображается виджет, во внешнем интерфейсе создается новое представление того же объекта. Эти представления называются представлениями.

Несколько самых популярных виджетов:

Чтобы начать использовать библиотеку, нам нужно установить расширение ipywidgets. Для pip это будет двухэтапный процесс:

  1. установить и
  2. включить
pip install ipywidgets
jupyter nbextension enable --py widgetsnbextension

Tips & Tricks / Советы, рекомендации и фишки при работе с Jupyter Notebook

todo

Подборка видео по Jupyter

Как использовать Jupyter (ipython-notebook) на 100%

Jupyter Notebook Tutorial (Eng)

  • 00:00 Introduction
  • 01:35 Jupyter notebook example
  • 04:11 Installing Python and Jupyter notebooks
  • 09:23 Launching Jupyter notebooks
  • 11:08 Basic notebook functionality
  • 20:58 The kernel, and variables
  • 28:38 Other notebook functionality
  • 34:45 The menu
  • 35:52 Jupyter notebook keyboard shortcuts
  • 36:57 Load and display data using pandas
  • 40:33 Using terminal commands inside a Jupyter notebook
  • 42:30 Jupyter notebook magic commands
  • 45:07 Other features outside of the notebooks
  • 46:41 Shutting down Jupyter notebooks
  • 48:02 Jupyter notebook extensions and other libraries
  • 52:47 Conclusion, and thank you

Jupyterlab — STOP Using Jupyter Notebook! Here’s the Better Tool

Like this post? Please share to your friends:
  • Как установить jupiter notebook на windows 10 anaconda
  • Как установить jupiter lab на windows 10
  • Как установить jumpstart на windows 10
  • Как установить juiced на windows 10
  • Как установить jre на windows server