پاکسازی داده
پاکسازی داده واقعی: حذف رکوردهای تکراری، یکسانسازی فرمتها، اصلاح متنها و نرمالسازی مقادیر دستهای
چرا پاکسازی داده؟
داده واقعی همیشه کثیف است! کاربران تاریخ را به ده شکل مختلف وارد میکنند، اسم شهر را با غلط املایی مینویسند و فرمها را ناقص پر میکنند. تحلیل روی داده کثیف = نتیجه غلط. به همین دلیل پاکسازی، زمانبرترین اما مهمترین بخش علم داده است.
مشکل ۱: رکوردهای تکراری
دوبارثبتشدن یک سفارش یا دوبارکلیکشدن دکمه ثبت، رکورد تکراری میسازد. تکراریها آمار را متورم میکنند (مثلاً فروش دو برابر گزارش میشود!).
در pandas:
df.duplicated() # شناسایی تکراریها
df = df.drop_duplicates() # حذف تکراریها
مشکل ۲: فرمتهای ناسازگار
یک تاریخ بهصورت «۱۴۰۲/۰۳/۱۵» و دیگری «15-03-1402» ذخیره شده است! یا قیمتها گاهی با جداکننده هزارگان («۱٬۲۰۰٬۰۰۰») ثبت شدهاند. راهحل: یکسانسازی (Normalization) همه مقادیر به یک فرمت استاندارد.
مشکل ۳: ناهمگونی متنها
- حروف بزرگ و کوچک: «تهران» و «TEHRAN» و «Tehran»
- فاصله اضافی: « تهران » با فاصله در ابتدا و انتها
- غلط املایی: «تهرران»
راهحلها در pandas:
df["city"] = df["city"].str.strip() # حذف فاصلههای دو طرف
df["city"] = df["city"].str.upper() # یکسانسازی حروف
df["city"] = df["city"].replace({"تهرران": "تهران"}) # اصلاح غلط املایی
مشکل ۴: مقادیر غیرمنطقی
سن ۲۰۰ سال یا قیمت منفی! این مقادیر با قاعدههای دامنه (Domain Rules) شناسایی و یا اصلاح یا حذف میشوند:
df = df[(df["age"] >= 0) & (df["age"] <= 120)]
مشکل ۵: نوع داده اشتباه
ستون قیمت که بهصورت متن ذخیره شده، اجازه هیچ محاسبهای نمیدهد:
df["price"] = df["price"].astype(float)
جدول مشکلات رایج و راهحلها
| مشکل | علامت | راهحل pandas |
|---|---|---|
| تکراری | duplicated() | drop_duplicates() |
| فاصله اضافی | value_counts عجیب | str.strip() |
| حروف ناهمگن | «تهران» و «Tehran» | str.upper() / str.lower() |
| غلط املایی | دستههای نادر | replace() |
| مقدار غیرمنطقی | describe | فیلتر دامنه معتبر |
| نوع اشتباه | dtypes | astype() |
بهترین شیوهها
- همیشه از داده خام نسخه پشتیبان نگه دارید؛ پاکسازی را روی کپی انجام دهید
- هر مرحله پاکسازی را مستند کنید تا قابل تکرار باشد
- قبل و بعد از هر مرحله، shape داده را مقایسه کنید تا بدانید چند رکورد حذف شده
جمعبندی
- داده واقعی کثیف است؛ پاکسازی مهمترین گام علم داده
- پنج مشکل اصلی: تکراری، فرمت ناهمگن، متن ناهماهنگ، مقدار غیرمنطقی، نوع اشتباه
- پاکسازی را مستند و تکرارپذیر انجام دهید
این مبحث بخشی از دوره آموزش کامل علم داده است.