الشكل 3.32: استخدام وظيفة (drop_duplicates) - كتاب علم البيانات - الصف 11 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب علم البيانات - الصف 11 - الفصل 1 | المادة: علم البيانات | المرحلة: الصف 11 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: الشكل 3.32: استخدام وظيفة (drop_duplicates)

📚 معلومات الصفحة

الكتاب: كتاب علم البيانات - الصف 11 - الفصل 1 | المادة: علم البيانات | المرحلة: الصف 11 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

📝 ملخص الصفحة

📚 تنظيف البيانات (Data Cleaning)

المفاهيم الأساسية

وظيفة drop_duplicates(): طريقة لحذف الصفوف المكررة من مجموعة البيانات.

وظيفة isnull(): ترجع قيمة منطقية (True/False) لكل خلية في مجموعة البيانات؛ حيث تكون True للخلايا الفارغة.

وظيفة dropna(): طريقة لحذف الصفوف الفارغة من مجموعة البيانات.

خريطة المفاهيم

```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()`

```

نقاط مهمة

  • بعد استخدام `drop_duplicates()` أو `dropna()`، يجب تحديث مجموعة البيانات والتحقق من إزالة الصفوف المطلوبة.
  • تُستخدم `isnull().sum()` للحصول على عدد الخلايا الفارغة في كل عمود من أعمدة مجموعة البيانات.

📋 المحتوى المنظم

📖 محتوى تعليمي مفصّل

نوع: محتوى تعليمي

يوجد في مجموعة البيانات 171 صفًا مكررًا. لحذف هذه الصفوف تستخدم وظيفة (drop_duplicates)، حيث تحذف هذه الطريقة الصفوف المكررة. بعد حذف الصفوف المكررة، عليك تحديث مجموعة البيانات الخاصة بك للتحقق من إزالة الصفوف المكررة.

نوع: محتوى تعليمي

لا يوجد صفوف مكررة.

نوع: محتوى تعليمي

False dtype: int64

الشكل 3.32: استخدام وظيفة (drop_duplicates)

نوع: محتوى تعليمي

استخدام وظيفة (drop_duplicates)

الخلايا الفارغة Empty Cells

نوع: محتوى تعليمي

الخلايا الفارغة Empty Cells

نوع: محتوى تعليمي

للتحقق مما إذا كانت مجموعة البيانات الخاصة بك بها قيم مفقودة، يمكنك استخدام وظيفة (isnull())، حيث ترجع قيمة منطقية. لكل خلية من مجموعة البيانات: < صواب (True): للخلايا الفارغة < خطأ (False): للخلايا الممتلئة

نوع: محتوى تعليمي

# get the number of empty cells per column missing_values_count = data.isnull().sum()

نوع: محتوى تعليمي

5 6 5 4 4 4 dtype: int64

نوع: محتوى تعليمي

المنطقة الإدارية المرحلة نوع المدرسة مجموع الطلبة مجموع المعلمين مجموع الاربين

نوع: محتوى تعليمي

عدد الخلايا الفارغة في كل عمود.

الشكل 3.33: عدد الخلايا الفارغة لكل عمود

نوع: محتوى تعليمي

عدد الخلايا الفارغة لكل عمود

نوع: محتوى تعليمي

يمكنك رؤية عدد الخلايا الفارغة في كل عمود. لحذف هذه الصفوف، تستخدم وظيفة (dropna)، وتستخدم بقوم بحذف الصفوف الفارغة. بعد حذف الصفوف الفارغة، عليك تحديث مجموعة البيانات الخاصة بك للتحقق من إزالة هذه الصفوف.

نوع: METADATA

وزارة التعليم Ministry of Education 125 2025-1447

🔍 عناصر مرئية

استخدام وظيفة (drop_duplicates)

A code snippet showing how to remove duplicate rows from a dataset using the drop_duplicates() function in Python (likely pandas). It includes the code, the result of checking for duplicated rows (showing 'False' and a count), and a text output indicating 'لا يوجد صفوف مكررة' (No duplicate rows found).

عدد الخلايا الفارغة لكل عمود

A code snippet demonstrating how to count empty cells (missing values) per column in a dataset using isnull().sum(). The output is presented in a tabular format showing the count of empty cells for each column and the data type.

📄 النص الكامل للصفحة

يوجد في مجموعة البيانات 171 صفًا مكررًا. لحذف هذه الصفوف تستخدم وظيفة (drop_duplicates)، حيث تحذف هذه الطريقة الصفوف المكررة. بعد حذف الصفوف المكررة، عليك تحديث مجموعة البيانات الخاصة بك للتحقق من إزالة الصفوف المكررة. لا يوجد صفوف مكررة. False dtype: int64 --- SECTION: الشكل 3.32: استخدام وظيفة (drop_duplicates) --- استخدام وظيفة (drop_duplicates) --- SECTION: الخلايا الفارغة Empty Cells --- الخلايا الفارغة Empty Cells للتحقق مما إذا كانت مجموعة البيانات الخاصة بك بها قيم مفقودة، يمكنك استخدام وظيفة (isnull())، حيث ترجع قيمة منطقية. لكل خلية من مجموعة البيانات: < صواب (True): للخلايا الفارغة < خطأ (False): للخلايا الممتلئة # get the number of empty cells per column missing_values_count = data.isnull().sum() 5 6 5 4 4 4 dtype: int64 المنطقة الإدارية المرحلة نوع المدرسة مجموع الطلبة مجموع المعلمين مجموع الاربين عدد الخلايا الفارغة في كل عمود. --- SECTION: الشكل 3.33: عدد الخلايا الفارغة لكل عمود --- عدد الخلايا الفارغة لكل عمود يمكنك رؤية عدد الخلايا الفارغة في كل عمود. لحذف هذه الصفوف، تستخدم وظيفة (dropna)، وتستخدم بقوم بحذف الصفوف الفارغة. بعد حذف الصفوف الفارغة، عليك تحديث مجموعة البيانات الخاصة بك للتحقق من إزالة هذه الصفوف. وزارة التعليم Ministry of Education 125 2025-1447 --- VISUAL CONTEXT --- **DIAGRAM**: استخدام وظيفة (drop_duplicates) Description: A code snippet showing how to remove duplicate rows from a dataset using the drop_duplicates() function in Python (likely pandas). It includes the code, the result of checking for duplicated rows (showing 'False' and a count), and a text output indicating 'لا يوجد صفوف مكررة' (No duplicate rows found). Data: Illustrates the process of removing duplicate rows and verifying the result. Key Values: 5426 (count of non-duplicated rows) Context: Demonstrates a practical data cleaning technique in programming. **DIAGRAM**: عدد الخلايا الفارغة لكل عمود Description: A code snippet demonstrating how to count empty cells (missing values) per column in a dataset using isnull().sum(). The output is presented in a tabular format showing the count of empty cells for each column and the data type. Table Structure: Headers: عدد الخلايا الفارغة في كل عمود. Rows: Row 1: 5 | المنطقة الإدارية Row 2: 6 | المرحلة Row 3: 5 | نوع المدرسة Row 4: 4 | مجموع الطلبة Row 5: 4 | مجموع المعلمين Row 6: 4 | مجموع الاربين Calculation needed: Counting missing values per column. Data: Shows the number of missing values for each column in a dataset, helping to identify columns with significant data gaps. Key Values: 5 (empty cells in المنطقة الإدارية), 6 (empty cells in المرحلة), 5 (empty cells in نوع المدرسة), 4 (empty cells in مجموع الطلبة), 4 (empty cells in مجموع المعلمين), 4 (empty cells in مجموع الاربين) Context: Illustrates a method for identifying and quantifying missing data in a dataset.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 4 بطاقة لهذه الصفحة

ما الغرض من استخدام الدالة `drop_duplicates()` في تنظيف البيانات؟

  • أ) تعبئة الخلايا الفارغة بقيم افتراضية.
  • ب) حذف الصفوف المكررة من مجموعة البيانات.
  • ج) تغيير نوع البيانات في الأعمدة.
  • د) فرز البيانات تصاعدياً أو تنازلياً.

الإجابة الصحيحة: b

الإجابة: حذف الصفوف المكررة من مجموعة البيانات.

الشرح: 1. تُستخدم `drop_duplicates()` في علم البيانات لتنظيف البيانات. 2. وظيفتها الأساسية هي إزالة الصفوف المتطابقة تماماً في مجموعة البيانات. 3. بعد استخدامها، يجب التحقق من مجموعة البيانات للتأكد من إزالة التكرارات.

تلميح: تتعامل هذه الدالة مع تكرار البيانات.

التصنيف: تعريف | المستوى: سهل

ما نتيجة استخدام الدالة `isnull().sum()` على مجموعة بيانات؟

  • أ) متوسط القيم في كل عمود.
  • ب) عدد الصفوف المكررة في كل عمود.
  • ج) عدد الخلايا الفارغة (القيم المفقودة) في كل عمود.
  • د) القيمة القصوى والدنيا في كل عمود.

الإجابة الصحيحة: c

الإجابة: عدد الخلايا الفارغة (القيم المفقودة) في كل عمود.

الشرح: 1. تُستخدم الدالة `isnull()` للتحقق من وجود قيم مفقودة (خلايا فارغة). 2. تُرجع `True` للخلايا الفارغة و `False` للخلايا الممتلئة. 3. عند إضافة `.sum()`، يتم جمع عدد القيم `True` (الفارغة) في كل عمود. 4. النتيجة النهائية هي عدد الخلايا الفارغة في كل عمود من أعمدة مجموعة البيانات.

تلميح: تُرجع هذه الدالة قيمة رقمية لكل عمود.

التصنيف: مفهوم جوهري | المستوى: متوسط

ما الدالة المستخدمة لحذف الصفوف التي تحتوي على خلايا فارغة (قيم مفقودة) من مجموعة البيانات؟

  • أ) الدالة `fillna()`.
  • ب) الدالة `drop_duplicates()`.
  • ج) الدالة `dropna()`.
  • د) الدالة `isnull()`.

الإجابة الصحيحة: c

الإجابة: الدالة `dropna()`.

الشرح: 1. بعد تحديد عدد الخلايا الفارغة باستخدام `isnull().sum()`، تأتي خطوة المعالجة. 2. لحذف الصفوف التي تحتوي على خلايا فارغة (قيم مفقودة) تُستخدم الدالة `dropna()`. 3. بعد استخدامها، يجب تحديث مجموعة البيانات والتحقق من إزالة الصفوف الفارغة.

تلميح: اسم هذه الدالة يشير إلى إسقاط القيم 'غير المتاحة' (NA).

التصنيف: تعريف | المستوى: سهل

إذا أظهرت نتيجة `data.isnull().sum()` الرقم 6 في عمود 'المرحلة'، فماذا يعني ذلك؟

  • أ) يوجد 6 صفوف مكررة في عمود 'المرحلة'.
  • ب) متوسط قيم عمود 'المرحلة' هو 6.
  • ج) يوجد 6 خلايا فارغة (قيم مفقودة) في عمود 'المرحلة'.
  • د) أعلى قيمة في عمود 'المرحلة' هي 6.

الإجابة الصحيحة: c

الإجابة: يوجد 6 خلايا فارغة (قيم مفقودة) في عمود 'المرحلة'.

الشرح: 1. `data.isnull()` تفحص كل خلية وتُرجع `True` إذا كانت فارغة. 2. `.sum()` تجمع عدد مرات ظهور `True` (أي الخلايا الفارغة) في كل عمود. 3. الرقم 6 في عمود 'المرحلة' يعني أن هناك 6 صفوف في هذا العمود لا تحتوي على بيانات (خلايا فارغة).

تلميح: الرقم الناتج من `.sum()` يمثل المجموع.

التصنيف: تفكير ناقد | المستوى: متوسط