📚 المجموعات والتجميع (Grouping and Aggregating)
المفاهيم الأساسية
التجميع (Grouping): عملية وضع عناصر مجموعة البيانات في مجموعات بناءً على بعض المعايير وتطبيق الوظائف على هذه المجموعات.
دالة التجميع (Aggregate Function): دالة تقوم بحسابات رياضية على قيم صفوف متعددة مجمعة معًا، وترجع قيمة موجزة واحدة.
خريطة المفاهيم
```markmap
استكشاف البيانات
تصفية البيانات (اختيار مجموعة جزئية)
تعريف: اختيار جزء أصغر من البيانات للعرض أو التحليل
طرق التصفية
#### الفهرسة المنطقية (Boolean Indexing)
##### الأسهل
##### تستخدم القيم الفعلية والمعاملات المنطقية
##### أمثلة على كائن المتسلسلة (Series)
###### s[s > 0]
###### s[(s<-1) | (s > 6)]
###### s[~(s<0)]
#### طرق loc و iloc
##### الأكثر قوة
##### طريقة loc
###### تختار الصفوف والأعمدة باستخدام مُسميات محددة (أسماء الأعمدة)
##### طريقة iloc
###### تختار الصفوف والأعمدة باستخدام مواضع صحيحة (أرقام الصفوف والأعمدة)
###### مثال: data.iloc[0] (تحديد جميع عناصر الصف الأول)
###### طباعة عنصر محدد
####### مثال: `data.iloc[0,3]` (طباعة العنصر في الصف الأول، العمود الرابع)
###### طباعة نطاق من العناصر
####### مثال: `data.iloc[1:3, 0:3]` (طباعة الصفوف من 2 إلى 3، والأعمدة من 1 إلى 3)
####### ملاحظة: النهاية غير مشمولة في النطاق
###### التكرار عبر الصفوف باستخدام حلقة for
####### مثال: `for i in range(10): print(studentsReg.iloc[i][1])`
######## يطبع أول 10 صفوف من العمود الثاني
طباعة أسماء الأعمدة
الوصول إلى السمة `columns`
استخدام حلقة `for` للطباعة
الحصول على إحصائيات أساسية
استخدام `data.describe()`
الإحصائيات المعروضة
#### count (العدد)
#### mean (المتوسط)
#### std (الانحراف المعياري)
#### min (القيمة الدنيا)
#### 25%، 50%، 75% (الربيعيات)
#### max (القيمة القصوى)
إنشاء إطار بيانات جديد
اختيار أعمدة محددة من إطار بيانات موجود
مثال: studentsReg = data.loc[:, ['المنطقة الإدارية', 'مجموع الطلبة']]
المجموعات والتجميع (Grouping and Aggregating)
التجميع (Grouping)
#### تعريف: وضع عناصر البيانات في مجموعات بناءً على معايير وتطبيق دوال عليها
#### التنفيذ: باستخدام وظيفة `df.groupby()` في بايثن
دالة التجميع (Aggregate Function)
#### تعريف: دالة رياضية تُطبق على صفوف مجمعة وتُرجع قيمة موجزة
#### أمثلة شائعة
##### sum: مجموع قائمة الأرقام
##### max: العدد الأقصى لقائمة الأرقام
##### min: العدد الأدنى لقائمة الأرقام
##### mean: متوسط قائمة الأرقام
وظيفة Groupby
#### الغرض: تقسيم البيانات إلى مجموعات لإجراء حسابات وتحليل أفضل
#### مثال تطبيقي
##### تجميع الطلبة حسب المنطقة الإدارية وحساب المجموع
###### الكود: `df.groupby('المنطقة الإدارية').sum()`
```
نقاط مهمة
- يتم تنفيذ عملية التجميع في مكتبة بايثن باستخدام وظيفة `df.groupby()`.
- مثال: لتجميع بيانات عن لاعبي كرة السلة حسب الفريق وحساب عددهم، يتم التجميع حسب عمود "الفريق" وتطبيق دالة `sum`.
- دوال التجميع (مثل `sum`, `count`, `min`, `max`, `mean`) تُطبق على البيانات بعد تجميعها.
- مثال تطبيقي: تجميع الطلبة في كل منطقة إدارية وحساب مجموع الطلبة في كل منطقة باستخدام `df.groupby('المنطقة الإدارية').sum()`.