สรุปยอดการยืมสื่อดิจิทัล
ทีมรายงานต้องการยอดรวมการยืมสื่อดิจิทัลแยกตามประเภทวัสดุสำหรับสรุปประจำสัปดาห์ ให้สร้าง pipeline ทั้งหมดในโหมด lazy และเรียก .collect() เพียงครั้งเดียวตอนท้ายสุด เพื่อให้ Polars วางแผนคิวรีทั้งหมดได้ในคราวเดียว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การปรับขนาดและเพิ่มประสิทธิภาพ Data Pipeline ด้วย Polars
คำแนะนำการฝึกหัด
- กรองข้อมูลใน
libraryให้เหลือเฉพาะแถวที่useมีค่าเป็น"Digital" - จัดกลุ่มข้อมูลที่กรองแล้วตาม
format - สั่งประมวลผลที่ ตอนท้ายสุด ของ pipeline
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
result = (
library
# Filter to digital checkouts
.filter(pl.col("use") == "____")
# Group by format
.group_by("____")
.agg(pl.col("checkouts").sum().alias("total"))
.sort("total", descending=True)
# Trigger execution at the end
.____()
)
print(result)