Урок курса
Импорт библиотек и управление зависимостями
Jupyter Notebook с нуля: бесплатный курсИмпорт модулей Python в ноутбуке
Одно из преимуществ Jupyter Notebook – вы можете пользоваться всей экосистемой Python. Большая часть функциональности в Python организована в виде модулей и пакетов (библиотек). Чтобы использовать функционал библиотеки в своём коде, её нужно импортировать.
Синтаксис импорта в Python одинаков везде (в скрипте, консоли или ноутбуке):
-
import имя_модуля– импортировать модуль целиком. После этого функции/классы из него доступны с префиксом. Например:import math print(math.sqrt(16))Вывод:
4.0(мы воспользовались функциейsqrtиз модуляmath). -
import имя_модуля as псевдоним– то же, но позволяет использовать короткое имя для модуля. Принято использовать сокращения для популярных библиотек:import numpy as np import pandas as pdПосле этого можно вызывать, например,
np.array()илиpd.DataFrame(). Такое соглашение облегчает чтение кода. -
from имя_модуля import конкретный_элемент– импортировать только определённую функцию или класс из модуля. Например:from math import pi, sin print(pi) print(sin(pi/2))Здесь мы получили непосредственно
piиsinв пространстве имен, и можем их использовать без указания модуля.
В ноутбуке эти команды работают так же, как в скрипте. Если ячейка выполнилась успешно, модуль считается импортированным во всём текущем kernel, поэтому его не нужно импортировать снова в следующих ячейках (если kernel не перезапускался). Обычно в начале ноутбука удобно собрать все импорты, чтобы сразу видеть, какие библиотеки используются.
Установка дополнительных библиотек из ноутбука
Что делать, если вы хотите использовать библиотеку, которой у вас ещё нет в среде? Обычно мы выходим в терминал и запускаем pip install <package> или conda install <package>. Но Jupyter Notebook позволяет сделать это прямо внутри себя с помощью специальных возможностей оболочки IPython:
-
Через префикс
!(выполнение shell-команд): Если поставить!перед командой, она будет выполнена в системе, как из терминала. Например:!pip install requestsвыполнит установку пакета
requests. Вы увидите в выводе процесс установки, как в терминале. Аналогично, если пользуетесь conda:!conda install pandas(в Jupyter на базе Anaconda эта команда сработает, возможно, потребует подтверждения
-y). -
Специальные магии
%pipи%conda: В новых версиях IPython предусмотрены магические команды, эквивалентные вызову pip/conda, но более надёжные в контексте Jupyter. Их плюс в том, что они гарантированно ставят пакет именно в текущую среду kernel. Пример:%pip install seabornпосле установки можно сразу
import seaborn. Эта форма предпочтительнее!pipв сложных конфигурациях.
После установки пакета через pip/conda в ячейке, лучше перезапустить kernel (меню Kernel -> Restart) чтобы новая библиотека корректно подхватилась, хотя чаще всего достаточно просто выполнить импорт. Если библиотека была успешно установлена, import её не вызовет ошибок.
Обратите внимание: Anaconda уже включает множество библиотек (numpy, pandas, matplotlib, scipy и т.д.). Если вы установили Jupyter через Anaconda, многие нужные пакеты могут быть доступны сразу. В случае установки через pip, вам, вероятно, придётся вручную поставить те библиотеки, что нужны для работы.
Использование библиотек: пример NumPy и pandas
Давайте продемонстрируем импорт и применение пары популярных библиотек, которые часто используются в ноутбуках:
-
NumPy: библиотека для численных вычислений с многомерными массивами.
-
pandas: библиотека для работы с табличными данными (DataFrame).
import numpy as np
import pandas as pd
# Создадим массив NumPy и вычислим несколько статистик
data = np.array([1, 2, 3, 4, 5])
print("Массив:", data)
print("Среднее значение:", np.mean(data))
print("Стандартное отклонение:", np.std(data))
# Создадим DataFrame pandas из словаря списков
df = pd.DataFrame({
"Name": ["Alice", "Bob", "Charlie"],
"Age": [25, 30, 35]
})
display(df)
print("Средний возраст:", df["Age"].mean())
Увидим:
Обратите внимание:
display(df) используется вместо print(df) для DataFrame, чтобы получить более приятное табличное отображение (с форматированием HTML). В простом случае можно и просто написать df последней строкой ячейки — Jupyter автоматически выведет табличку.
Продолжить с проверкой и прогрессом
Откройте интерактивный раннер с заданиями урока.
