پاکسازی و اعتبارسنجی دادهها با استفاده از pandera
از هدر دادن زمان برای دادههای ناپاک خسته شدهاید؟ یاد بگیرید چگونه با Pandera در چند دقیقه آنها را پاکسازی کنید.
هنگام کار با دادهها، انجام بررسیهایی برای اطمینان از اینکه دادهها ناپاک یا نامعتبر نیستند — مانند بررسی مقادیر تهی، مقادیر گمشده، یا اعدادی که برای نوع ستون خاصی مجاز نیستند — بسیار مهم است. این بررسیها ضروری هستند زیرا دادههای بد میتوانند منجر به تحلیلهای اشتباه، شکست مدلها و هدر رفتن زمان و منابع شوند.
احتمالاً روش معمول پاکسازی و اعتبارسنجی دادهها با استفاده از Pandas را دیدهاید، اما در این آموزش، میخواهم ابزار بهتری به شما معرفی کنم: یک کتابخانه قدرتمند پایتون به نام Pandera. Pandera یک API انعطافپذیر و گویا برای اعتبارسنجی دادهها در اشیاء مشابه DataFrame ارائه میدهد. این روش بسیار سریعتر و مقیاسپذیرتر از بررسی دستی است. شما اساساً شِماها (schemas) را ایجاد میکنید که مشخص میکنند دادههای شما باید چگونه باشند — ساختار، نوع دادهها، قوانین و غیره. سپس Pandera دادههای شما را با این شِماها مقایسه میکند و هر چیزی که مطابق نباشد را مشخص میکند، بنابراین میتوانید مشکلات را زودتر شناسایی و برطرف کنید تا بعداً به دردسر نیفتید.
این راهنما فرض میکند که شما کمی با پایتون و Pandas آشنا هستید. بیایید مراحل استفاده از Pandera در جریانهای کاری را قدم به قدم بررسی کنیم.
نکته: برای آشنایی و تسلط بر پانداس میتوانید دوره تحلیل داده با آقای ربات را چک کنید.
مرحله ۱: آمادهسازی محیط
ابتدا باید بستههای مورد نیاز را نصب کنید:
پس از نصب، کتابخانههای مورد نیاز را وارد کنید و نصب را تأیید کنید:
این باید نسخههای pandas و Pandera را نمایش دهد و تأیید کند که به درستی نصب شدهاند، به این صورت:
مرحله ۲: ایجاد یک مجموعه داده نمونه
بیایید یک مجموعه داده نمونه از اطلاعات مشتریان با خطاهای عمدی ایجاد کنیم تا پاکسازی و اعتبارسنجی را نشان دهیم:
خروجی:
مشکلات موجود در مجموعه داده:
customer_id: شامل یک رشته (“invalid”) به جای اعداد صحیح.
name: شامل یک رشته خالی.
age: شامل مقدار منفی (-5).
email: دارای فرمت نامعتبر (invalid_email) و یک مقدار گمشده (None).
مرحله ۳: تعریف شِمای Pandera
یک شِمای Pandera ساختار و محدودیتهای مورد انتظار برای DataFrame را تعریف میکند. ما از DataFrameSchema برای مشخص کردن قوانین هر ستون استفاده میکنیم:
مرحله ۴: اعتبارسنجی اولیه
اکنون DataFrame خود را با شِما اعتبارسنجی میکنیم. Pandera متد validate را برای بررسی انطباق دادهها با شِما ارائه میدهد. با تنظیم lazy=True تمام خطاها جمعآوری میشوند:
اعتبارسنجی به دلیل مشکلات موجود در مجموعه داده با شکست مواجه میشود. پیام خطا چیزی شبیه به این خواهد بود:
مرحله ۵: پاکسازی دادهها
اکنون که مشکلات را شناسایی کردیم، بیایید دادهها را پاکسازی کنیم تا با شِما مطابقت داشته باشند. هر مشکل را قدم به قدم برطرف میکنیم:
customer_id: حذف ردیفهایی با شناسههای غیرعددی یا نامعتبر.
name: حذف ردیفهایی با نامهای خالی.
age: حذف ردیفهایی با سنین منفی یا غیرمعقول.
email: حذف ردیفهایی با ایمیلهای نامعتبر یا گمشده.
پس از پاکسازی، DataFrame باید به این شکل باشد:
مرحله ۶: اعتبارسنجی مجدد دادهها
بیایید DataFrame پاکسازیشده را دوباره اعتبارسنجی کنیم تا مطمئن شویم که اکنون با شِما مطابقت دارد:
خروجی:
اعتبارسنجی با موفقیت انجام شد و تأیید کرد که مراحل پاکسازی ما تمام مشکلات را برطرف کردهاند.
مرحله ۷: ساخت یک pipeline قابل استفاده مجدد
برای اینکه جریان کاری شما قابل استفاده مجدد باشد، میتوانید پاکسازی و اعتبارسنجی را در یک خط لوله مانند این کپسوله کنید:
خروجی:
کتابخانه Pandera میتواند برای سایر مجموعههای داده با شِمای مشابه استفاده شود.
خلاصه
کتابخانه Pandera ابزاری قدرتمند برای اطمینان از کیفیت دادهها در جریانهای کاری pandas است. با تعریف شِماها، میتوانید خطاها را زودتر شناسایی کنید، یکپارچگی را اعمال کنید و پاکسازی دادهها را خودکار کنید. در این مقاله، ما:
- کتابخانه Pandera در پایتون را نصب کردیم و یک مجموعه داده نمونه ایجاد کردیم.
- یک شِما با قوانین برای نوع دادهها و محدودیتها تعریف کردیم.
- دادهها را اعتبارسنجی کردیم و مشکلات را شناسایی کردیم.
- دادهها را پاکسازی کردیم تا با شِما مطابقت داشته باشند.
- دادههای پاکسازیشده را دوباره اعتبارسنجی کردیم.
- یک خط لوله قابل استفاده مجدد برای پردازش دادهها ساختیم.
کتابخانه Pandera در پایتون همچنین ویژگیهای پیشرفتهای برای سناریوهای اعتبارسنجی پیچیده ارائه میدهد، مانند شِماهای مبتنی بر کلاس، اعتبارسنجی بینستونی، اعتبارسنجی جزئی و غیره، که میتوانید در مستندات رسمی Pandera کاوش کنید.
دیدگاهتان را بنویسید