↗️پاکسازی دادهها با پانداس (Pandas)
در فرایند تحلیل معمولا دادهها نیاز به پیشپردازش و پاکسازی دارند تا به قالب مناسبی برای تحلیل نهایی برسند.
فرایند پاکسازی معمولا این چند مرحله است:
+ تغییر نام ستونها
+ تغییر جنس ستونها
+ مشاهده و حذف دادههای تکراری
+ حذف دادههای حاوی NaN
+ حذف سطر و ستون
⬇️تغییر نام ستونها
DataFrame.rename(columns = {dict}, inplace = True)
عبارت columns: یک دیکشنری که نام فعلی ستونها Key و نام جدید آنها Valueهای این دیکشنری هستند.
عبارت inplace: بیان میکند که این تغییرات بلافاصله بر روی DataFrame فعلی و بدون نیاز به یک کپی از آن انجام شود (True) یا خیر (False).
🔴تغییر نوع ستونها
#بررسی نوع ستونها
🟡مشاهده دادههای تکراری
برای پیبردن به اینکه آیا DataFrame حاوی سطری تکراری است، از تابع زیر استفاده میشود:
DataFrame.duplicated(keep = ['first', 'last'])
این تابع یک لیست حاوی مقادیر Boolean و بهاندازه تعداد سطرها برمیگرداند. به هرسطری که تکراری باشد مقدار True نسبت داده میشود. دقت داشته باشید که دو سطر درصورتی تکرار هم درنظرگرفته میشوند، که در تمامی ستونها مقادیر آنها دقیقا مشابه یکدیگر باشد.
عبارت keep: فرض کنید که دوسطر i و j تکراری باشند و i قبل از j قرار گرفته باشد. درصورتیکه 'keep = 'first باشد، Pandas سطر i را نگهداشته و سطر j را تکراری اعلام میکند. درصورتی که 'keep = 'last باشد، برعکس این اتفاق رخ میدهد و سری i تکراری درنظر گرفته میشود.
🔵حذف دادههای تکراری
پس از تشخیص وجود داده، سطر، تکراری میتوانیم، درصورت نیاز، با استفاده از تابع زیر اقدام به حذف آن سطور کنیم :
DataFrame.drop_duplicates(inplace, keep = ['first','last'])
این تابع یک لیست حاوی مقادیر Boolean و بهاندازه تعداد سطرها برمیگرداند. به هرسطری که تکراری باشد مقدار True نسبت داده میشود. دقت داشته باشید که دو سطر درصورتی تکرار هم درنظرگرفته میشوند، که در تمامی ستونها مقادیر آنها دقیقا مشابه یکدیگر باشد.
عبارت inplace: یک مقدار Boolean که مشخص میکند که عمل حذف بر روی خود DataFrame انجام شود ('inplace = 'True) و یا DataFrame بدون تغییر مانده و عمل حذف بر روی یک کپی از آن اعمال شود ('inplace = 'False). مقدار پیشفرض برابر با False است.
عبارت keep: بیان میکند که از اعضای تکراری، مورد اول ('first') و یا مورد آخر('last') نگهداشته شوند.
🟠 کشف و مشاهده دادههای ناموجود
در مرحله اول باید بررسی کنیم که آیا DataFrame حاوی مقدار Null است یا خیر. برای این امر از تابع ()isnull استفاده میکنیم:
DataFrame.isnull()
خروجی این تابع یک DataFrame به اندازهی DataFrame اصلی است که محتوای آن مقادیر True/False میباشد. اگر مقدار خانهای برابر با True باشد، به این معنی است که خانهی متناظر در DataFrame اصلی حاوی مقدار Null است.
🟢 حذف دادههای ناموجود
سادهترین رویکرد برخورد با دادههای ناموجود، حذف سطرها و یا ستون هایی است که حداقل در یکی از خانهها مقداری ندارند. Pandas برای این روش از تابع ()dropna استفاده میکند:
DataFrame.isnull(inplace, axis = {0,1})
عبارت inplace: یک مقدار Boolean که مشخص میکند که عمل حذف بر روی خود DataFrame انجام شود ('inplace = 'True) و یا DataFrame بدون تغییر مانده و عمل حذف بر روی یک کپی از آن اعمال شود ('inplace = 'False). مقدار پیشفرض برابر با False است.
عبارت axis: درصورتی که 0 باشد بیانگر حذف سطر و 1 بیانگر حذف ستون است. مقدار پیشفرض آن برابر با 0 (حذف سطر) است.
📷 به دلیل محدودیت تعداد کلمات در تلگرام میتوانید ادامه بحث را در اینستاگرام مدرسه دقیقه دنبال کنید.
💡 این آموزش بخشی از درسنامه پردازش و تبدیل داده با پانداس pandas که از بخش درسنامهها میتوانید از آن استفاده کنید.
➖➖👇➖➖
همچنین اگر علاقهمند به یادگیری مهارتهای پردازش و تحلیل دادههای حجیم در پایتون هستید، دوره آموزشی پردازش بهینه با pandas و polars برای شما طراحی شدهاست.
🙂 کد تخفیف 25%
برای پرداخت کامل: HpCd25
🙂 کد تخفیف 15%
برای پرداخت قسطی: DphC15
🔴 اعتبار کدهای تخفیف تا ۵ اردیبهشت ۱۴۰۴
لینک ثبتنام:
🔗 d-learn.ir/pyps
تماس:
📱 t.me/dlearnsup
📞 02188349244
📲 09103209837
@dlearn_ir