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

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

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

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

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

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

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

📝 ملخص الصفحة

📚 إنشاء أول مخطط شريطي في جوبيتر

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

المخطط الشريطي (Bar Chart): تمثيل القيم بارتفاع الأعمدة (مذكور في الخريطة السابقة).

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

```markmap

تصوير البيانات

التعريف

التمثيل البياني للمعلومات

يجعل البيانات أيسر فهماً وتحليلاً

الأدوات

مفكرة جوبيتر

#### يدعم تصوير البيانات باستخدام مكتبات البايثون

الأنواع الشائعة

المخططات

#### المخطط الخطي

##### رسم القيم بخطوط مستقيمة عبر الزمن

##### للمقارنة بين أكثر من متغير

#### المخطط الشريطي

##### تمثيل القيم بارتفاع الأعمدة

##### أنواعه: المجمعة، المكدسة، مع أشرطة الخطأ

###### خطوات إنشاء مخطط شريطي في جوبيتر

####### 1. استيراد المكتبات

######## matplotlib.pyplot

######## numpy

######## arabic_reshaper

######## bidi.algorithm

####### 2. إنشاء مجموعة البيانات

######## تجميع البيانات حسب المنطقة باستخدام دالة (mean)

######## الحصول على متوسط عدد الطلبة والمعلمين والإداريين

######## فرز إطار البيانات حسب عمود الطلبة (تنازلياً)

####### 3. اختيار البيانات للرسم

######## استخدام الصفوف الخمسة الأولى فقط لمخطط أوضح

######## استخراج القيم إلى قوائم منفصلة

#### المخطط النقطي

##### تمثيل البيانات بنقاط مبعثرة

##### يوضح الارتباط بين متغيرين (إيجابي، سلبي، لاشيء)

#### المخطط الدائري (Pie Chart)

##### مخطط يشبه الفطائر مقسم إلى شرائح

##### يمثل القيم النسبية للمتغيرات في فئة معينة

##### أنواعه: المجوفة (Doughnut)، نصف المجوفة (Half-Doughnut)، متعددة الطبقات (Multilayered)

#### المخطط المدرج التكراري (Histogram)

##### مخطط يظهر تواتر البيانات العددية

##### الأعمدة متصلة ببعضها البعض

##### يختلف عن المخطط الشريطي الذي يقارن فئات البيانات

الرسوم البيانية

الجداول

الخرائط

مبدأ الاختيار

يتم تمثيل البيانات بشكل مختلف بكل نوع

اختر النوع حسب الهدف من التقرير

مكتبة مات بلوت ليب (Matplotlib)

مكتبة بايثون لإنشاء المخططات

تحتوي على أساليب جاهزة لجعل المخططات أكثر قابلية للفهم

دعم النص العربي

#### يتطلب استخدام مكتبتين إضافيتين:

##### arabic_reshaper

##### bidi.algorithm

#### يتم تثبيتهما بالأمر:

##### !pip install arabic-reshaper

##### !pip install python-bidi

```

نقاط مهمة

  • الخطوة الأولى لإنشاء مخطط هي استيراد المكتبات الضرورية: `matplotlib.pyplot`، `numpy`، `arabic_reshaper`، `bidi.algorithm`.
  • يتم تجميع البيانات وتحضيرها قبل الرسم، مثل حساب المتوسطات وفرزها تنازلياً حسب معيار محدد (مثل عدد الطلبة).
  • لإنشاء مخطط أوضح، يمكن اختيار جزء من البيانات (مثل الصفوف الخمسة الأولى) للعرض.
  • تُستخرج البيانات المختارة إلى قوائم منفصلة (للأسماء، الطلبة، المعلمين، الإداريين) كتمهيد لرسم المخطط.

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

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

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

المخطط الشريطي Bar Chart

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

حان الوقت لإنشاء أول مخطط لك في مفكرة جوبيتر. ابدأ باستيراد المكتبات التي ستستخدمها.

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

import matplotlib.pyplot as plt import numpy as np import arabic_reshaper from bidi.algorithm import get_display

نوع: FIGURE_REFERENCE

الشكل 3.43: المكتبات المستوردة

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

الخطوة التالية هي إنشاء مجموعة البيانات التي ستستخدمها. من مجموعة البيانات التي استخدمتها في الدرس السابق، ابدأ بتجميع بياناتك حسب المنطقة باستخدام دالة (mean) واحصل على متوسط عدد الطلبة والمعلمين والإداريين. قم بفرز إطار البيانات هذا حسب عمود الطلبة.

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

groupsB = data.groupby(['المنطقة الإدارية'])[['مجموع المعلمين', 'مجموع الطلبة', 'مجموع الإداريين']].mean().round(0) groupsB = groupsB.sort_values(by=['مجموع الطلبة'], ascending=False) groupsB

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

صنف البيانات بحسب الترتيب التنازلي.

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

المنطقة الإدارية مجموع الطلبة مجموع المعلمين مجموع الإداريين الشرقية 1582.0 110.0 22.0 مكة المكرمة 1378.0 105.0 20.0 الرياض 1313.0 102.0 27.0 المدينة المنورة 1148.0 97.0 17.0 عسير 1088.0 85.0 20.0 نجران 1054.0 73.0 16.0 جازان 956.0 71.0 17.0 الجوف 953.0 79.0 19.0 الحدود الشمالية 756.0 61.0 8.0 القصيم 708.0 72.0 15.0 حائل 648.0 69.0 15.0 تبوك 433.0 57.0 10.0

نوع: FIGURE_REFERENCE

الشكل 3.44: إنشاء مجموعة البيانات

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

لإنشاء مخطط شريطي أكثر وضوحًا، سيكون الاختيار والاستخدام للصفوف الخمسة الأولى فحسب من مجموعة البيانات الخاصة بك.

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

reg = groupsB.iloc[:5,0].tolist() studentsH = groupsB.iloc[:5,1].tolist() teacherH = groupsB.iloc[:5,2].tolist() adminH = groupsB.iloc[:5,3].tolist() print(reg) print(studentsH) print(teacherH) print(adminH)

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

['الشرقية', 'مكة المكرمة', 'الرياض', 'المدينة المنورة', 'عسير'] [1582.0, 1378.0, 1313.0, 1148.0, 1088.0] [110.0, 105.0, 102.0, 97.0, 85.0] [22.0, 20.0, 27.0, 17.0, 20.0]

نوع: FIGURE_REFERENCE

الشكل 3.45: حدد الصفوف الخمسة الأولى من مجموعة البيانات

نوع: METADATA

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

🔍 عناصر مرئية

المكتبات المستوردة

A Python code block containing import statements for matplotlib.pyplot, numpy, arabic_reshaper, and bidi.algorithm.

A Python code block demonstrating data grouping by 'المنطقة الإدارية' (Administrative Region) and sorting by 'مجموع الطلبة' (Total Students) in descending order.

إنشاء مجموعة البيانات

A table displaying grouped and sorted data by administrative region, showing the average number of teachers, students, and administrators, sorted by total students in descending order.

A Python code block using `iloc` to select the first five rows of the `groupsB` DataFrame and convert specific columns to lists, then printing these lists.

حدد الصفوف الخمسة الأولى من مجموعة البيانات

The output from the Python code block, showing four lists: administrative regions, total students, total teachers, and total administrators for the top five regions.

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

المخطط الشريطي Bar Chart حان الوقت لإنشاء أول مخطط لك في مفكرة جوبيتر. ابدأ باستيراد المكتبات التي ستستخدمها. import matplotlib.pyplot as plt import numpy as np import arabic_reshaper from bidi.algorithm import get_display الشكل 3.43: المكتبات المستوردة الخطوة التالية هي إنشاء مجموعة البيانات التي ستستخدمها. من مجموعة البيانات التي استخدمتها في الدرس السابق، ابدأ بتجميع بياناتك حسب المنطقة باستخدام دالة (mean) واحصل على متوسط عدد الطلبة والمعلمين والإداريين. قم بفرز إطار البيانات هذا حسب عمود الطلبة. groupsB = data.groupby(['المنطقة الإدارية'])[['مجموع المعلمين', 'مجموع الطلبة', 'مجموع الإداريين']].mean().round(0) groupsB = groupsB.sort_values(by=['مجموع الطلبة'], ascending=False) groupsB صنف البيانات بحسب الترتيب التنازلي. المنطقة الإدارية مجموع الطلبة مجموع المعلمين مجموع الإداريين الشرقية 1582.0 110.0 22.0 مكة المكرمة 1378.0 105.0 20.0 الرياض 1313.0 102.0 27.0 المدينة المنورة 1148.0 97.0 17.0 عسير 1088.0 85.0 20.0 نجران 1054.0 73.0 16.0 جازان 956.0 71.0 17.0 الجوف 953.0 79.0 19.0 الحدود الشمالية 756.0 61.0 8.0 القصيم 708.0 72.0 15.0 حائل 648.0 69.0 15.0 تبوك 433.0 57.0 10.0 الشكل 3.44: إنشاء مجموعة البيانات لإنشاء مخطط شريطي أكثر وضوحًا، سيكون الاختيار والاستخدام للصفوف الخمسة الأولى فحسب من مجموعة البيانات الخاصة بك. reg = groupsB.iloc[:5,0].tolist() studentsH = groupsB.iloc[:5,1].tolist() teacherH = groupsB.iloc[:5,2].tolist() adminH = groupsB.iloc[:5,3].tolist() print(reg) print(studentsH) print(teacherH) print(adminH) ['الشرقية', 'مكة المكرمة', 'الرياض', 'المدينة المنورة', 'عسير'] [1582.0, 1378.0, 1313.0, 1148.0, 1088.0] [110.0, 105.0, 102.0, 97.0, 85.0] [22.0, 20.0, 27.0, 17.0, 20.0] الشكل 3.45: حدد الصفوف الخمسة الأولى من مجموعة البيانات وزارة التعليم 133 Ministry of Education 2025 - 1447 --- VISUAL CONTEXT --- **CODE_BLOCK**: المكتبات المستوردة Description: A Python code block containing import statements for matplotlib.pyplot, numpy, arabic_reshaper, and bidi.algorithm. Context: Shows the necessary libraries to import for data visualization and Arabic text handling in Python. **CODE_BLOCK**: Untitled Description: A Python code block demonstrating data grouping by 'المنطقة الإدارية' (Administrative Region) and sorting by 'مجموع الطلبة' (Total Students) in descending order. Context: Illustrates data manipulation techniques using pandas for aggregation and sorting. **TABLE**: إنشاء مجموعة البيانات Description: A table displaying grouped and sorted data by administrative region, showing the average number of teachers, students, and administrators, sorted by total students in descending order. Table Structure: Headers: المنطقة الإدارية | مجموع الطلبة | مجموع المعلمين | مجموع الإداريين Rows: Row 1: الشرقية | 1582.0 | 110.0 | 22.0 Row 2: مكة المكرمة | 1378.0 | 105.0 | 20.0 Row 3: الرياض | 1313.0 | 102.0 | 27.0 Row 4: المدينة المنورة | 1148.0 | 97.0 | 17.0 Row 5: عسير | 1088.0 | 85.0 | 20.0 Row 6: نجران | 1054.0 | 73.0 | 16.0 Row 7: جازان | 956.0 | 71.0 | 17.0 Row 8: الجوف | 953.0 | 79.0 | 19.0 Row 9: الحدود الشمالية | 756.0 | 61.0 | 8.0 Row 10: القصيم | 708.0 | 72.0 | 15.0 Row 11: حائل | 648.0 | 69.0 | 15.0 Row 12: تبوك | 433.0 | 57.0 | 10.0 Calculation needed: This table is the output of a data grouping and sorting operation, showing calculated averages. Context: Presents the processed data that will be used for creating a bar chart, demonstrating the result of data aggregation and sorting. **CODE_BLOCK**: Untitled Description: A Python code block using `iloc` to select the first five rows of the `groupsB` DataFrame and convert specific columns to lists, then printing these lists. Context: Shows how to select a subset of data (top 5 rows) for focused visualization, and how to extract specific columns. **CODE_OUTPUT**: حدد الصفوف الخمسة الأولى من مجموعة البيانات Description: The output from the Python code block, showing four lists: administrative regions, total students, total teachers, and total administrators for the top five regions. Context: Displays the specific data points extracted from the main table, which are intended for use in creating a bar chart.

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

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

ما الغرض من استخدام الدالة `groupby()` في مكتبة pandas عند تحضير البيانات لإنشاء مخطط شريطي؟

  • أ) لترتيب البيانات أبجدياً حسب أسماء المناطق.
  • ب) لتجميع البيانات حسب فئة معينة (مثل المنطقة) وحساب إحصاءات موجزة (مثل المتوسط) لكل مجموعة.
  • ج) لحذف البيانات المكررة من إطار البيانات.
  • د) لتحويل البيانات النصية إلى قيم رقمية.

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

الإجابة: لتجميع البيانات حسب فئة معينة (مثل المنطقة) وحساب إحصاءات موجزة (مثل المتوسط) لكل مجموعة.

الشرح: 1. البيانات الأصلية تكون عادة على مستوى سجلات مفردة. 2. الدالة `groupby()` تقوم بتجميع هذه السجلات بناءً على عمود محدد (مثل 'المنطقة الإدارية'). 3. بعد التجميع، يمكن تطبيق دوال إحصائية (مثل `mean()`) على الأعمدة الرقمية لحساب قيم موجزة لكل مجموعة. 4. هذه القيم الموجزة (مثل متوسط عدد الطلبة لكل منطقة) هي التي تُستخدم لإنشاء المخططات.

تلميح: تذكر أن البيانات الخام غالباً ما تحتاج إلى تجميع قبل التمثيل المرئي.

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

ما الغرض من استخدام الدالة `sort_values()` في مثال إنشاء المخطط الشريطي؟

  • أ) لحساب مجموع قيم عمود معين.
  • ب) لترتيب البيانات تصاعدياً أو تنازلياً حسب عمود محدد، مما يساعد في عرض البيانات الأكثر أهمية أولاً.
  • ج) لتحديد نوع البيانات في كل عمود.
  • د) لدمج إطارين للبيانات معاً.

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

الإجابة: لترتيب البيانات تصاعدياً أو تنازلياً حسب عمود محدد، مما يساعد في عرض البيانات الأكثر أهمية أولاً.

الشرح: 1. بعد تجميع البيانات وحساب المتوسطات، تكون البيانات غير مرتبة. 2. الدالة `sort_values()` تأخذ اسم العمود المراد الترتيب بناءً عليه (مثل 'مجموع الطلبة'). 3. المعلمة `ascending=False` تضمن الترتيب التنازلي (من الأكبر إلى الأصغر). 4. هذا الترتيب يجعل عرض البيانات في المخطط أكثر وضوحاً وتركيزاً على القيم الكبرى.

تلميح: المخطط الشريطي في المثال يركز على المناطق ذات أعلى عدد طلبة.

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

ما فائدة اختيار الصفوف الخمسة الأولى فقط من مجموعة البيانات لإنشاء المخطط الشريطي كما في المثال؟

  • أ) لأن البيانات بعد الصف الخامس غير صحيحة.
  • ب) لإنشاء مخطط أكثر وضوحاً وتركيزاً على أهم البيانات (المناطق ذات أعلى قيم) وتجنب ازدحام المخطط.
  • ج) لأن مكتبة matplotlib لا تدعم عرض أكثر من 5 أشرطة.
  • د) لاختبار دقة الحسابات على جزء صغير من البيانات أولاً.

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

الإجابة: لإنشاء مخطط أكثر وضوحاً وتركيزاً على أهم البيانات (المناطق ذات أعلى قيم) وتجنب ازدحام المخطط.

الشرح: 1. مجموعة البيانات الأصلية تحتوي على 12 منطقة. 2. عرض جميع المناطق في مخطط شريطي واحد قد يجعل المخطط مزدحماً ويصعب قراءته. 3. اختيار الصفوف الأولى بعد الترتيب التنازلي (باستخدام `iloc[:5]`) يركز على الفئات ذات القيم الأعلى (مثل أعلى 5 مناطق في عدد الطلبة). 4. هذا يحسن من قابلية فهم المخطط ويبرز الاتجاهات أو الاختلافات الرئيسية.

تلميح: فكر في قابلية قراءة المخطط عندما يكون عدد الأشرطة كبيراً جداً.

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

ما هي الخطوات الأساسية لتحضير البيانات لإنشاء مخطط شريطي كما وردت في النص؟

  • أ) 1. رسم المخطط. 2. تلوين الأشرطة. 3. إضافة العنوان. 4. حفظ الصورة.
  • ب) 1. تجميع البيانات حسب الفئة وحساب المتوسطات. 2. ترتيب البيانات تنازلياً حسب القيمة المراد تمثيلها. 3. اختيار مجموعة فرعية من البيانات (مثل أعلى 5 صفوف). 4. استخراج القوائم من الأعمدة المطلوبة.
  • ج) 1. فتح ملف البيانات. 2. طباعة البيانات. 3. استيراد المكتبات. 4. تشغيل الكود.
  • د) 1. حساب الوسيط. 2. حساب الانحراف المعياري. 3. حساب المدى. 4. رسم المخطط.

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

الإجابة: 1. تجميع البيانات حسب الفئة وحساب المتوسطات. 2. ترتيب البيانات تنازلياً حسب القيمة المراد تمثيلها. 3. اختيار مجموعة فرعية من البيانات (مثل أعلى 5 صفوف). 4. استخراج القوائم من الأعمدة المطلوبة.

الشرح: الخطوات هي: 1. التجميع والإحصاء: استخدام `groupby()` مع `mean()`. 2. الترتيب: استخدام `sort_values(by=['مجموع الطلبة'], ascending=False)`. 3. الاختيار: استخدام `iloc[:5]` لاختيار الصفوف الأولى. 4. الاستخراج: استخدام `.tolist()` لتحويل أعمدة محددة إلى قوائم يمكن للمكتبة الرسومية التعامل معها.

تلميح: ركز على التسلسل المنطقي: من البيانات الخام إلى البيانات الجاهزة للرسم.

التصنيف: صيغة/خطوات | المستوى: صعب