สแกนหลายไฟล์พร้อมกัน
ข้อมูลการยืมของทีมถูกแบ่งออกเป็นไฟล์ CSV รายปี (seattle_2021.csv, seattle_2022.csv, seattle_2023.csv) ไฟล์รายปีเหล่านี้ใช้ชื่อคอลัมน์แบบเดิม ได้แก่ usageclass และ materialtype ให้ใช้ glob pattern เพื่อสแกนทุกไฟล์รวมกันเป็นชุดข้อมูลเดียว จากนั้นสร้างสรุปการยืมแบบ Physical
โหลด polars เป็น pl แล้ว และไดเรกทอรีอยู่ใน MULTIFILE_DIR
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การปรับขนาดและเพิ่มประสิทธิภาพ Data Pipeline ด้วย Polars
คำแนะนำการฝึกหัด
- สแกนไฟล์
seattle_*.csvทุกไฟล์ในMULTIFILE_DIRโดยใช้ glob pattern - กรองชุดข้อมูลที่รวมแล้วให้เหลือเฉพาะการยืมแบบ
"Physical"จากนั้น group by ด้วยmaterialtype
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Scan every yearly file using a glob pattern
yearly_checkouts = pl.____(
str(MULTIFILE_DIR / "____")
)
# Build a physical-checkout summary across the combined dataset
result = (
yearly_checkouts
# Filter to physical
.filter(pl.col("usageclass") == "____")
.group_by("____")
.agg(pl.col("checkouts").sum().alias("total"))
.sort("total", descending=True)
.collect()
)
print(result)