📚 البيانات الخاطئة (Wrong Data)
المفاهيم الأساسية
البيانات الخاطئة: بيانات غير صحيحة أو غير منطقية ضمن سياق مجموعة البيانات (مثل وجود أرقام سالبة في عدد الطلبة).
خريطة المفاهيم
```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
حذف البيانات المكررة
#### الكود: `data = data.drop_duplicates()`
#### التحقق من النتيجة: `dup = data.duplicated(); dup.value_counts()`
#### النتيجة: False 5426
التعامل مع الخلايا الفارغة
#### الكشف عن الخلايا الفارغة
##### الكود: `missing_values_count = data.isnull().sum()`
##### النتيجة: عدد الخلايا الفارغة في كل عمود (مثال: 5، 6، 5، 4، 4، 4)
#### حذف الصفوف الفارغة
##### الكود: `data = data.dropna()`
التعامل مع البيانات الخاطئة (Wrong Data)
#### أمثلة على البيانات الخاطئة
##### أرقام سالبة في أعمدة لا تقبل القيم السالبة (مثل عدد الطلبة)
#### كيفية التحقق من البيانات الخاطئة
##### كتابة مقطع برمجي للكشف عنها
##### مثال للتحقق من الأرقام السالبة في عمود "مجموع الطلبة":
###### الكود: `data[data['مجموع الطلبة'] < 0].nunique()`
##### مثال للتحقق من الأرقام السالبة في عمود "مجموع المعلمين":
###### الكود: `data[data['مجموع المعلمين'] < 0].nunique()`
##### مثال للتحقق من الأرقام السالبة في عمود "مجموع الإداريين":
###### الكود: `data[data['مجموع الإداريين'] < 0].nunique()`
#### كيفية التعامل مع البيانات الخاطئة بعد اكتشافها
##### حذفها
##### استبدالها بقيم أخرى
```
نقاط مهمة
- البيانات الخاطئة هي بيانات غير صحيحة ضمن سياقها (مثل وجود أرقام سالبة لعدد الطلبة).
- يجب التحقق من وجود بيانات خاطئة عن طريق كتابة مقاطع برمجية (مثل التحقق من القيم السالبة).
- بعد اكتشاف البيانات الخاطئة، يمكن حذفها أو استبدالها بقيم أخرى.