집계 함수 정의하기
재고에서 표지판(sign) 품목 비중이 예상보다 높다는 점에 놀란 소매업체는, 데이터를 더 잘 살펴보기 위해 카테고리별로 추가 집계를 하는 것이 좋겠다고 판단했어요. 이는 여러분에게는 간단해 보이지만, 이 소매업체는 지금까지 거래와 품목에 대한 기초 기술 분석조차 수행하지 못했어요.
소매업체는 candles, bags, boxes 카테고리에 대해 집계를 요청했어요. 작업을 단순화하기 위해 함수를 작성해 보려고 해요. 이 함수는 품목의 카테고리를 담은 문자열을 입력으로 받아, 각 거래에 해당 카테고리의 품목이 포함되어 있는지를 나타내는 DataFrame을 반환해요. 참고로 pandas는 pd로 이미 임포트되어 있고, 데이터는 원-핫 인코딩 형식으로 onehot에 불러와져 있어요.
이 연습은 강의의 일부입니다
Python으로 배우는 Market Basket Analysis
연습 안내
- 열 머리글 중 일부를 추출하는 리스트 컴프리헨션을 완성하세요.
- 집계하려는 품목에 해당하는 열을 선택하세요.
- 문자열
bag,box,candle을 사용해aggregate()함수로 bags, boxes, candles에 대한 집계를 수행하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
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 = ____