Aan de slagGa gratis aan de slag

Een aggregatiefunctie definiëren

Verrast door het hoge aandeel borden (sign items) in de voorraad besluit de retailer om verder te aggregeren per categorie om de data beter te verkennen. Dit lijkt jou eenvoudig, maar de retailer heeft eerder niet eens een basis beschrijvende analyse van transacties en items kunnen doen.

De retailer vraagt je om aggregatie uit te voeren voor de categorieën candles, bags en boxes. Om de taak te vereenvoudigen schrijf je een functie. Die neemt een string met de categorie van een item en geeft vervolgens een DataFrame terug dat aangeeft of elke transactie items uit die categorie bevat. Let op: pandas is al voor je geïmporteerd als pd. Daarnaast zijn de gegevens in one-hot-encoded formaat geïmporteerd als onehot.

Deze oefening maakt deel uit van de cursus

Market Basket Analysis in Python

Cursus bekijken

Oefeninstructies

  • Maak de list comprehension af die een subset van de kolomkoppen ophaalt.
  • Selecteer de kolommen voor het item dat je wilt aggregeren.
  • Voer aggregatie uit met de functie aggregate() voor bags, boxes en candles met de strings bag, box en candle.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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 = ____
Code bewerken en uitvoeren