Определение функции агрегации
Обнаружив, что знаки занимают неожиданно большую долю в ассортименте, ритейлер решает провести дополнительную агрегацию по различным категориям, чтобы лучше изучить данные. Вам это кажется несложной задачей, однако ранее ритейлер не мог выполнить даже базовый описательный анализ своих транзакций и товаров.
Ритейлер просит вас выполнить агрегацию для категорий candles, bags и boxes. Чтобы упростить задачу, вы решаете написать функцию. Она принимает строку с названием категории товара и возвращает DataFrame, который показывает, содержит ли каждая транзакция товары из этой категории. Обратите внимание, что pandas уже импортирован как pd, а данные загружены в формате унитарного кодирования (one-hot encoding) в переменную onehot.
Это упражнение является частью курса
Анализ рыночных корзин на Python
Инструкции к упражнению
- Завершите генератор списка, который извлекает подмножество заголовков столбцов.
- Выберите столбцы для товара, по которому нужно выполнить агрегацию.
- Выполните агрегацию с помощью функции
aggregate()для сумок, коробок и свечей, передав строкиbag,boxиcandle.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
def aggregate(item):
# Select the column headers for sign items in onehot
item_headers = [i for i in ____.columns if i.lower().find(item)>=0]
# Select columns of sign items
item_columns = onehot[____]
# Return category of aggregated items
return item_columns.sum(axis = 1) >= 1.0
# Aggregate items for the bags, boxes, and candles categories
bags = aggregate('bag')
boxes = aggregate('____')
candles = ____