Eine Aggregationsfunktion definieren
Überrascht vom hohen Anteil an Schilder-Artikeln im Bestand beschließt der Händler, weitere Aggregationen für verschiedene Kategorien durchzuführen, um die Daten besser zu erkunden. Für dich wirkt das trivial, aber der Händler konnte bisher nicht einmal eine einfache deskriptive Analyse seiner Transaktionen und Artikel vornehmen.
Der Händler bittet dich, für die Kategorien candles, bags und boxes zu aggregieren. Um die Aufgabe zu vereinfachen, entscheidest du dich, eine Funktion zu schreiben. Sie nimmt einen String mit der Artikelkategorie entgegen und gibt dann ein DataFrame aus, das angibt, ob jede Transaktion Artikel aus dieser Kategorie enthält. Beachte, dass pandas bereits als pd importiert wurde. Außerdem wurden die Daten im One-Hot-Format als onehot importiert.
Diese Übung ist Teil des Kurses
Market Basket Analysis in Python
Anleitung zur Übung
- Vervollständige das Listenverständnis, das eine Teilmenge der Spaltenüberschriften extrahiert.
- Wähle die Spalten für den Artikel aus, den du aggregieren möchtest.
- Führe die Aggregation mit der Funktion
aggregate()für bags, boxes und candles mit den Stringsbag,boxundcandledurch.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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 = ____