В ходе сегодняшнего урока мы углубим наши знания по 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")
Дополнительные материалы
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.