Зарегистрируйтесь, чтобы продолжить обучение

Виртуальные окружения и установка пакетов. Anaconda Navigator Python: Anaconda

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

Подготовка

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

Установка дополнительных пакетов осуществляется через графический интерфейс Navigator, где можно легко найти и добавить нужные библиотеки, например, PyTorch. Если в репозиториях Anaconda отсутствует требуемый пакет, его можно добавить через каналы, указав URL источника.

Стандартного набора пакетов часто бывает достаточно для решения многих задач. После установки необходимых пакетов и создания нового окружения, мы наблюдаем, как оно обрастает необходимыми инструментами, включая JupyterLab и Jupyter Notebook. Эти инструменты позволят нам запустить код для выполнения задачи по визуализации данных.

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

Установка библиотек

В этой части урока мы сконцентрируемся на использовании библиотек Matplotlib и NumPy для создания точечного графика. Эти библиотеки необходимы для визуализации данных, конкретно — для отображения отношения между числами от 1 до 25 и их квадратами на графике.

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

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

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

Запуск проекта

Теперь попробуем запустить код. Мы видим, что после некоторого ожидания все отработало корректно. График пришлось уменьшить, чтобы он уместился на экране. Возможно, задержка в выполнении связана с тем, что это новое окружение, которое еще не "обкатано", и в нем не были заранее подгружены все необходимые функции и библиотеки. Но когда все нужные библиотеки были установлены и доступны в Jupyter Notebook, функционал стал полностью доступным. Теперь обе библиотеки, Matplotlib и NumPy, работают исправно, и можно воспользоваться такими функциями, как range и array, а также построить точечный график с помощью scatter plot.

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

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


Самостоятельная работа

Создайте новый Jupyter-notebook в Anaconda, добавьте библиотеки pandas и matplotlib. Загрузите датасет

Шаг 1. Добавьте столбец total, в котором будет произведение price и quantity. Выведите только столбцы category, price, quantity и total.

Нажмите, чтобы увидеть результат
import pandas as pd
import matplotlib.pyplot as plt


data = pd.read_csv("customer_shopping_data.csv")

data["total"] = data["price"] * data["quantity"]
df = data[["category","price", "quantity", "total"]]
df.head(200)

# category price quantity total
# 0 Clothing 1500.40 5 7502.00
# 1 Shoes 1800.51 3 5401.53
# 2 Clothing 300.08 1 300.08
# 3 Shoes 3000.85 5 15004.25
# 4 Books 60.60 4 242.40
# ... ... ... ... ...
# 195 Books 60.60 4 242.40
# 196 Technology 2100.00 2 4200.00
# 197 Clothing 900.24 3 2700.72
# 198 Souvenir 35.19 3 105.57
# 199 Cosmetics 203.30 5 1016.50
# 200 rows × 4 columns           107.733185     30321  3.980426e+06

Шаг 2. Сгруппируйте данные по категориям. Выведите среднюю цену, количество проданных товаров и сумму продаж каждой категории.

Нажмите, чтобы увидеть результат
group_df = df.groupby(["category"]).agg({"price": "mean", "quantity": "sum", "total": "sum"})
group_df


# price quantity total
# category
# Books 45.568621 14982 8.345529e+05
# Clothing 901.084021 103558 1.139968e+08
# Cosmetics 122.448626 45465 6.792863e+06
# Food & Beverage 15.671948 44277 8.495351e+05
# Shoes 1807.388568 30217 6.655345e+07
# Souvenir 34.894345 14871 6.358247e+05
# Technology 3156.935548 15021 5.786235e+07
# Toys 107.733185 30321 3.980426e+06

Шаг 3. Постройте три барчарта:

  • категория / цена категории
  • категория / количество проданных товаров
  • категория / сумма продаж
Нажмите, чтобы увидеть результат
group_df.plot(y="price", kind="bar")
group_df.plot(y="quantity", kind="bar")
group_df.plot(y="total", kind="bar")

price quantity total


Дополнительные материалы

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

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff