Définir une fonction d’agrégation
Surpris par la forte proportion d’articles « sign » dans son inventaire, le détaillant estime qu’il serait utile d’effectuer d’autres agrégations par catégorie pour mieux explorer les données. Cela vous semble simple, mais jusqu’ici le détaillant n’a pas réussi à mener même une analyse descriptive basique 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 une chaîne de caractères contenant la catégorie d’un article, puis renverra un DataFrame indiquant si chaque transaction comprend des articles de cette catégorie. Notez que pandas a été importé pour vous sous l’alias pd. De plus, les données ont été importées au format one-hot encodé sous le nom onehot.
Cet exercice fait partie du cours
Analyse des paniers d’achat en Python
Instructions
- Complétez la compréhension de liste qui extrait un sous-ensemble des en-têtes de colonnes.
- Sélectionnez les colonnes correspondant à l’article que vous souhaitez agréger.
- Effectuez l’agrégation avec la fonction
aggregate()pour bags, boxes et candles à l’aide des chaînesbag,boxetcandle.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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 = ____