การกำหนดฟังก์ชัน aggregation
เมื่อพบว่าสินค้าประเภทป้ายมีสัดส่วนสูงในสต็อกสินค้า ร้านค้าจึงตัดสินใจรวมข้อมูลในหมวดหมู่ต่าง ๆ เพิ่มเติมเพื่อวิเคราะห์ข้อมูลให้ลึกขึ้น งานนี้ดูไม่ซับซ้อน แต่ร้านค้าไม่เคยทำแม้แต่การวิเคราะห์เชิงพรรณนาขั้นพื้นฐานสำหรับธุรกรรมและสินค้าของตนเองมาก่อน
ร้านค้าขอให้คุณรวมข้อมูลสำหรับหมวด candles, bags, และ boxes เพื่อให้งานนี้ง่ายขึ้น จึงตัดสินใจเขียนฟังก์ชันขึ้นมา ฟังก์ชันนี้จะรับสตริงที่ระบุหมวดหมู่ของสินค้า แล้วส่งออกเป็น DataFrame ที่แสดงว่าแต่ละธุรกรรมมีสินค้าจากหมวดนั้นหรือไม่ โดย pandas ได้ถูก import ไว้แล้วในชื่อ pd และข้อมูลถูก import ในรูปแบบ one-hot encoded ไว้ในตัวแปร onehot
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Market Basket Analysis ด้วย Python
คำแนะนำการฝึกหัด
- เติม list comprehension ให้สมบูรณ์เพื่อดึงชุดย่อยของส่วนหัวคอลัมน์
- เลือกคอลัมน์สำหรับสินค้าที่ต้องการรวมข้อมูล
- ใช้ฟังก์ชัน
aggregate()เพื่อรวมข้อมูลของ bags, boxes และ candles โดยใช้สตริงbag,boxและcandle
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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 = ____