Lazy pivot เป็นรูปแบบ wide
ทีม dashboard ต้องการมุมมองข้อมูลการยืมในรูปแบบ wide โดยแสดงเดือนเทียบกับประเภทสื่อ Polars รองรับ .pivot() ในโหมด lazy เมื่อระบุชื่อคอลัมน์ผลลัพธ์ล่วงหน้า ซึ่งช่วยให้ pipeline ได้รับการ optimize ตลอดทั้งกระบวนการ
ตัวแปร LazyFrame monthly_checkouts เก็บข้อมูลรวมในรูปแบบ long โดยมีคอลัมน์ month, format และ total ส่วนลิสต์ formats เก็บชื่อประเภทสื่อทุกประเภทในข้อมูล
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การปรับขนาดและเพิ่มประสิทธิภาพ Data Pipeline ด้วย Polars
คำแนะนำการฝึกหัด
- Pivot
monthly_checkoutsโดยให้แต่ละค่าในformatกลายเป็นคอลัมน์ของตัวเอง - ส่งลิสต์
formatsเพื่อให้ lazy pivot รู้ schema ของผลลัพธ์ล่วงหน้า - เรียงลำดับ DataFrame ที่ได้ตามคอลัมน์
month
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
result = (
monthly_checkouts
# Pivot the format column into separate columns
.pivot(
on="____",
index="month",
values="total",
# Pre-declare the output column names so the pivot stays lazy
on_columns=____,
)
.collect()
# Sort the wide result by month
.sort("____")
)
print(result)