Сканування кількох файлів
Тепер дані про видачі команди розділено на один CSV на рік (seattle_2021.csv, seattle_2022.csv, seattle_2023.csv). У цих річних файлах використовуються застарілі назви стовпців usageclass та materialtype. Використайте шаблон glob, щоб просканувати всі файли разом як один логічний набір даних, а потім побудуйте підсумок для фізичних видач.
polars завантажено як pl, а директорія — у MULTIFILE_DIR.
Ця вправа є частиною курсу
Масштабування й оптимізація конвеєрів даних з Polars
Інструкції до вправи
- Проскануйте кожен файл
seattle_*.csvуMULTIFILE_DIR, використавши шаблон glob. - Відфільтруйте об'єднаний набір даних до видач
"Physical", а потім згрупуйте за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)