📚 تنظيف البيانات (Data Cleaning)
المفاهيم الأساسية
تنظيف البيانات (Data Cleaning): عملية إصلاح أو إزالة للبيانات غير الصحيحة أو المشوشة أو المنسقة بشكل غير صحيح أو المكررة أو غير المكتملة من مجموعة البيانات.
خريطة المفاهيم
```markmap
استكشاف البيانات
المجموعات والتجميع (Grouping and Aggregating)
وظيفة Groupby
#### الغرض: تقسيم البيانات إلى مجموعات لإجراء حسابات وتحليل أفضل
#### التجميع حسب عمود واحد
##### مثال: `df.groupby('المنطقة الإدارية').sum()`
#### التجميع حسب عمودين
##### الكود: `data.groupby(['المنطقة الإدارية', 'المرحلة'], as_index=False)['مجموع الطلبة'].sum()`
###### معلمة `as_index=False`
####### الغرض: جعل الفهرس هو رقم الصف بدلاً من أسماء الأعمدة
#### التجميع وتحديد أعمدة للجمع
##### الكود: `studentsTeachers.groupby('المنطقة الإدارية')[['مجموع الطلبة', 'مجموع المعلمين']].sum()`
تنظيف البيانات (Data Cleaning)
أهمية التنظيف
#### ضمان صحة نتائج التحليل
#### إزالة البيانات المكررة أو المشوشة أو غير الدقيقة
وظائف التنظيف
#### duplicated()
##### الغرض: ترجع قيمة منطقية (True/False) لكل صف يحتوي على بيانات مكررة
#### value_counts()
##### الغرض: ترجع القيم الفريدة في مجموعة البيانات
#### isnull()
##### الغرض: ترجع قيمة منطقية لكل خلية فارغة
#### dropna()
##### الغرض: يحذف الصفوف الفارغة
مثال: الكشف عن البيانات المكررة
#### الكود: `dup = data.duplicated()`
#### الكود: `dup.value_counts()`
#### النتيجة: False 5426, True 171
```
نقاط مهمة
- يجب إزالة البيانات المكررة أو المشوشة أو غير الدقيقة قبل البدء بتحليل البيانات.
- وظيفة `df.duplicated()` تعطي قيمة `True` للصفوف المكررة و `False` للصفوف غير المكررة.
- يمكن استخدام `value_counts()` على نتيجة `duplicated()` لمعرفة عدد الصفوف المكررة مقابل غير المكررة.