پاک سازی داده (Cleaning Data)
در این بخش درباره پاک سازی داده با pandas صحبت می کنیم. می بینی داده های خراب چطور نتیجه تحلیل را عوض می کنند و چرا باید قبل از هر مدل و نمودار، اول داده را تمیز کنیم.
پاک سازی داده با pandas یعنی چه؟
پاک سازی داده یعنی درست کردن داده های خراب در مجموعه داده. اگر این کار را انجام ندهیم، نتیجه تحلیل ممکن است کاملاً اشتباه شود؛ مثل وقتی نمره های اشتباه در کارنامه ثبت شود.
در منبع برای داده خراب چند نوع مثال داده شده است. هر کدام می تواند تحلیل را منحرف کند و باعث شود تصمیم های اشتباه بگیریم.
- سلول های خالی؛ یعنی جاهایی که باید عدد باشد ولی چیزی نیست.
- داده در فرمت اشتباه؛ مثلاً تاریخ نوشته شده اما نامرتب و ناسازگار.
- داده اشتباه؛ مثل مدت زمان غیرواقعی که خیلی بزرگ یا عجیب است.
- ردیف های تکراری؛ یعنی یک ردیف کاملاً کپی ردیف دیگر است.
در فصل های بعد، هر کدام از این مشکل ها را جداگانه روی همین داده تمرین می کنیم؛ از سلول خالی تا فرمت اشتباه و ردیف های تکراری.
مجموعه داده نمونه برای پاک سازی داده
در فصل های بعد، منبع از یک جدول تمرینی استفاده می کند. این جدول ورزش و تمرین است و ستون هایی مثل Duration، Date، Pulse، Maxpulse و Calories دارد.
Duration Date Pulse Maxpulse Calories
0 60 '2020/12/01' 110 130 409.1
1 60 '2020/12/02' 117 145 479.0
2 60 '2020/12/03' 103 135 340.0
3 45 '2020/12/04' 109 175 282.4
4 45 '2020/12/05' 117 148 406.0
5 60 '2020/12/06' 102 127 300.0
6 60 '2020/12/07' 110 136 374.0
7 450 '2020/12/08' 104 134 253.3
8 30 '2020/12/09' 109 133 195.1
9 60 '2020/12/10' 98 124 269.0
10 60 '2020/12/11' 103 147 329.3
11 60 '2020/12/12' 100 120 250.7
12 60 '2020/12/12' 100 120 250.7
13 60 '2020/12/13' 106 128 345.3
14 60 '2020/12/14' 104 132 379.3
15 60 '2020/12/15' 98 123 275.0
16 60 '2020/12/16' 98 120 215.2
17 60 '2020/12/17' 100 120 300.0
18 45 '2020/12/18' 90 112 NaN
19 60 '2020/12/19' 103 123 323.0
20 45 '2020/12/20' 97 125 243.0
21 60 '2020/12/21' 108 131 364.2
22 45 NaN 100 119 282.0
23 60 '2020/12/23' 130 101 300.0
24 45 '2020/12/24' 105 132 246.0
25 60 '2020/12/25' 102 126 334.5
26 60 2020/12/26 100 120 250.0
27 60 '2020/12/27' 92 118 241.0
28 60 '2020/12/28' 103 132 NaN
29 60 '2020/12/29' 100 132 280.0
30 60 '2020/12/30' 102 129 380.3
31 60 '2020/12/31' 92 115 243.0
همین جدول پر از مثال های واقعی برای پاک سازی داده است. در ادامه متن منبع، تک تک مشکل های این جدول را معرفی می کند تا بعداً در فصل های جداگانه روی آن ها کار کنیم.
چه نوع داده های خراب در جدول داریم؟
در متن منبع، چند مشکل مشخص برای همین جدول گفته شده است. این مشکل ها پایه تمرین های پاک سازی در فصل های بعد هستند.
- سلول های خالی؛ ستون
Dateدر ردیف 22، و ستونCaloriesدر ردیف های 18 و 28 مقدار ندارند. - فرمت اشتباه؛ مقدار ستون
Dateدر ردیف 26 بدون کوتیشن نوشته شده است. - داده اشتباه؛ مقدار
Durationدر ردیف 7 برابر 450 است که نسبت به بقیه ردیف ها غیرعادی به نظر می رسد. - ردیف تکراری؛ ردیف های 11 و 12 دقیقاً یکسان هستند و به عنوان ردیف های Duplicate معرفی شده اند.
در فصل های بعدی مانند پاک سازی سلول های خالی، همین ردیف ها را به طور عملی با pandas بررسی می کنیم.
گام های عملی برای شروع پاک سازی داده
- اول داده را در یک DataFrame بارگذاری کن و آن را با تحلیل داده بررسی کن.
- با نگاه به جدول و توضیحات منبع، ردیف های خالی، اشتباه و تکراری را پیدا کن.
- برای هر نوع مشکل، یادداشت جداگانه بنویس؛ مثلاً «سلول خالی در Calories».
- در فصل بعد، روش کار با سلول های خالی را مرحله به مرحله دنبال کن.
- بعد سراغ فرمت اشتباه، داده های عجیب و ردیف های تکراری برو تا جدول کاملاً تمیز شود.
جمع بندی سریع
- پاک سازی داده با pandas یعنی درست کردن داده های خراب در جدول.
- چهار نوع مشکل مهم داریم؛ خالی، فرمت بد، مقدار اشتباه، تکراری.
- این فصل فقط مشکلات را معرفی می کند و روی یک جدول نمونه تمرکز دارد.
- فصل های بعد هر نوع مشکل را با مثال عملی روی همین داده حل می کنند.
- بدون پاک سازی داده، نتیجه تحلیل مثل کارنامه با نمره های اشتباه است.