Bir toplulaştırma (aggregation) fonksiyonu tanımlama
Envanterindeki tabela öğelerinin yüksek payına şaşıran perakendeci, veriyi daha iyi keşfetmek için farklı kategorilerde daha fazla toplulaştırma yapmanın mantıklı olacağına karar veriyor. Bu sana basit gelse de, perakendeci daha önce işlemlerine ve öğelerine dair temel bir betimsel analiz bile yapamamış.
Perakendeci senden candles, bags ve boxes kategorileri için toplulaştırma yapmanı istiyor. Görevi sadeleştirmek için bir fonksiyon yazmaya karar veriyorsun. Bu fonksiyon, bir öğenin kategorisini içeren bir dize alacak. Ardından her işlemin o kategoriden öğe içerip içermediğini belirten bir DataFrame döndürecek. pandas senin için pd olarak içe aktarılmış durumda. Ayrıca veriler, tek-seçimli (one-hot) kodlanmış biçimde onehot olarak içe aktarıldı.
Bu egzersiz, kursun bir parçasıdır
Python ile Market Basket Analysis
Egzersiz talimatları
- Sütun başlıklarının bir alt kümesini çıkaran liste üretecini (list comprehension) tamamla.
- Toplulaştırmak istediğin öğeye ait sütunları seç.
aggregate()fonksiyonunu kullanarak bags, boxes ve candles için sırasıylabag,boxvecandledizeleriyle toplulaştırma yap.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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 = ____