Definice agregační funkce
Prodejce byl překvapen vysokým podílem položek kategorie "sign" ve svém inventáři a rozhodl se provést podrobnější agregaci pro různé kategorie, aby data lépe prozkoumal. Tobě to připadá jako jednoduchý úkol – prodejce totiž dosud nedokázal provést ani základní popisnou analýzu svých transakcí a položek.
Prodejce tě žádá, abys provedl/a agregaci pro kategorie candles, bags a boxes. Pro zjednodušení se rozhodneš napsat funkci. Ta přijme řetězec obsahující název kategorie položky a vrátí DataFrame, který indikuje, zda každá transakce zahrnuje položky z dané kategorie. Knihovna pandas je už naimportovaná jako pd a data jsou k dispozici v one-hot enkódovaném formátu jako onehot.
Toto cvičení je součástí kurzu
Market Basket Analysis v Pythonu
Pokyny k cvičení
- Dokonči list comprehension, který extrahuje podmnožinu názvů sloupců.
- Vyber sloupce pro položku, kterou chceš agregovat.
- Proveď agregaci pomocí funkce
aggregate()pro bags, boxes a candles s použitím řetězcůbag,boxacandle.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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 = ____