Définir une fonction d'agrégation
Surpris par la forte proportion d'articles de type « enseigne » dans son inventaire, le détaillant juge pertinent de pousser l'agrégation par différentes catégories pour mieux explorer les données. Cela vous semble simple, mais jusqu'ici, le détaillant n'avait même pas réussi à faire une analyse descriptive de base de ses transactions et de ses articles.
Le détaillant vous demande d'agréger pour les catégories candles, bags et boxes. Pour simplifier la tâche, vous décidez d'écrire une fonction. Elle prendra en entrée une chaîne qui contient la catégorie d'un article. Elle retournera ensuite un DataFrame indiquant si chaque transaction comprend des articles de cette catégorie. Notez que pandas a été importé pour vous sous le nom pd. De plus, les données ont été importées au format « one-hot encoded » sous le nom onehot.
Cette activité fait partie du cours
Analyse des paniers d'achat en Python
Instructions de l’exercice
- Complétez la compréhension de liste qui extrait un sous-ensemble des en-têtes de colonnes.
- Sélectionnez les colonnes pour l'article que vous souhaitez agréger.
- Effectuez l'agrégation à l'aide de la fonction
aggregate()pour bags, boxes et candles en utilisant les chaînesbag,boxetcandle.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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 = ____