Pandas - Fixing Wrong Data
داده اشتباه
داده اشتباه لازم نیست حتماً سلول خالی یا داده با فرمت اشتباه باشد، خیلی ساده فقط اشتباه است! مثلاً نفری که دادهها را وارد کرده ممکن است به جای 1.99 مقدار 199 را وارد کرده باشد.
بعضی اوقات با نگاه کردن به داده میتوان داده اشتباه را تشخیص داد، زیرا تقریباً میدانیم باید انتظار چه مقداری را داشته باشیم.
اگر به مجموعه داده خودمان نگاه کنیم، مشاهده میکنیم که در سطر 7ام مقدار مدت زمان 450 وارد شده است در حالیکه در همه سطرهای دیگر این مقدار بین 30 تا 60 است.
شاید در ابتدا دلیلی برای اشتباه بودن آن نداشته باشیم ولی اگر این را در نظر بگیریم که این مدت زمان مربوط به زمان تمرین یک نفر است، به راحتی به این نتیجه میرسیم که آن نفر 450 دقیقه تمرین نکرده است.
جایگزین کردن مقدار اشتباه
یکی از راههای درست کردن مقدار اشتباه جایگزین کردن آن است.
در مثال ما به احتمال زیاد اشتباه تایپی رخ داده است و عدد مورد نظر 45 است. بنابراین مقدار 45 را در سطر 7ام به صورت زیر جایگزین میکنیم.
df.loc[7, 'Duration'] = 45
شاید برای مجموعه دادههای کوچک بتوانید که مقادیر اشتباه را پیدا کرده و یکی یکی آنها را جایگزین کنید، ولی برای مجموعه دادههای بزرگ این کار غیر ممکن است.
در مجموعه دادههای بزرگ معمولاً یک سری قانون درست میکنیم، مثلاً محدودهای برای مقادیر مجاز قرار میدهیم و هر مقداری که خارج از محدوده مورد نظر بود را جایگزین میکنیم.
برای نمونه در کد زیر با استفاده از حلقه همه مقادیر ستون Duration را بررسی میکنیم و در صورتی که مقدار بررسی شده بزرگتر از 120 باشد، آن را با 120 جایگزین میکنیم.
حذف سطرها
یکی دیگر از راهکارهای برخورد با دادههای اشتباه حذف سطر مربوط به آنها است.
از این طریق دیگر نیازی به دانستن اینکه آنها را با چه مقداری جایگزین کنید ندارید.
the changes in the original DataFrame object instead of returning a copy