شكل 7.26: مخططات تجميعية - كتاب إنترنت الأشياء - الصف 11 - الفصل 1 - المملكة العربية السعودية

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

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

الدرس: شكل 7.26: مخططات تجميعية

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

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

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

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

📝 ملخص الصفحة

📚 مخططات تجميعية

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

المخططات التجميعية: مخططات بيانية تعرض متوسط القيم (مثل عدد القمامة) مجمعة حسب فترات زمنية محددة (مثل الساعة أو اليوم).

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

```markmap

تحليل البيانات في Jupyter Notebook (صفحة 301)

الهدف:

تحليل مجموعة بيانات JSON جاهزة تحاكي تشغيل نموذج الأردوينو.

الخطوات:

1. استيراد المكتبات المطلوبة (pandas, matplotlib).

2. قراءة بيانات JSON من الملف.

3. وصف مجموعة البيانات لاستخراج الخصائص الإحصائية.

البيانات:

ملف: U3_L3_DATA.json

الأعمدة:

#### id

#### garbage_drops

#### time_to_fill

الإحصائيات (شكل 7.23):

#### عدد السجلات (count): 50

#### المتوسط (mean):

##### id: 24

##### garbage_drops: 54

##### time_to_fill: 152

#### الانحراف المعياري (std):

##### id: 15

##### garbage_drops: 30

##### time_to_fill: 100

#### المدى (min - max):

##### id: 0 - 49

##### garbage_drops: 2 - 100

##### time_to_fill: 5 - 376

التمثيل البياني (صفحة 302)

إنشاء مخططات بيانية (Histograms)

#### للبيانات: garbage_drops و time_to_fill

#### عدد المجموعات (bins): 8

إنشاء مخططات Stem Plots

#### للبيانات: garbage_drops و time_to_fill عبر الزمن (timestamp)

#### شكل العلامات (markers): معين (Diamond)

المخرجات:

#### شكل 7.24: المخططات البيانية

##### مخطط garbage_drops: يظهر توزيع التكرارات، حيث يبلغ التكرار الأعلى (8) في المدى 62.5-75.

##### مخطط time_to_fill: يظهر توزيع التكرارات، حيث يبلغ التكرار الأعلى (10) في المدى 100-150.

#### شكل 7.25: مخططات stem plots البيانية

##### مخطط time_to_fill: يظهر تباين القيم (بين 100 و 350 دقيقة) عبر الأيام.

##### مخطط garbage_drops: يظهر تباين القيم (بين 30 و 100) عبر الأيام.

مخططات تجميعية (صفحة 303)

الهدف:

#### إنشاء مخططين يجمعان عدد garbage_drops لكل ساعة من اليوم، ولكل يوم خلال الأسبوع.

المخرجات (شكل 7.26):

#### مخطط متوسط garbage_drops حسب الساعة:

##### أقل كمية: ~15 في الساعة 5 صباحاً.

##### أعلى كمية: ~100 في الساعة 12 ظهراً.

##### ذروة أخرى: ~90 في الساعة 7 مساءً.

#### مخطط متوسط garbage_drops حسب اليوم:

##### (Monday = 0, Sunday = 6)

##### أقل كمية: ~40 في يوم الثلاثاء (1).

##### أعلى كمية: ~75 في يوم الخميس (3).

```

نقاط مهمة

  • تُستخدم المخططات التجميعية لتحليل أنماط البيانات عبر الزمن.
  • يظهر تحليل الساعة أن إلقاء القمامة يقل في الصباح الباكر (الساعة 5) ويزداد في منتصف النهار (الساعة 12) والمساء (الساعة 19).
  • يظهر تحليل اليوم أن إلقاء القمامة يصل ذروته يوم الخميس ويقل يوم الثلاثاء.

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

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

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

# Create 2 plots, one that groups mean garbage amount by hour and one by day fig, (ax1, ax2) = plt.subplots(2, figsize=(12, 8)) fig.supylabel('garbage_drops') data.groupby(data["timestamp"].dt.hour)["garbage_drops"].mean().plot(kind='bar', rot=0, xlabel='Hour of the day', ax=ax1); # Monday = 0, Sunday = 6 data.groupby(data["timestamp"].dt.day_of_week)["garbage_drops"].mean(). plot(kind='bar', rot=0, ax=ax2);

شكل 7.26: مخططات تجميعية

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

شكل 7.26: مخططات تجميعية

🔍 عناصر مرئية

A bar chart showing the mean garbage drops per hour of the day. The x-axis is labeled 'Hour of the day' and ranges from 1 to 23. The y-axis is labeled 'garbage_drops' and ranges from 0 to 100.

A bar chart showing the mean garbage drops per day of the week. The x-axis is labeled 'timestamp' and ranges from 0 to 6, representing days of the week (Monday=0, Sunday=6). The y-axis is labeled 'garbage_drops' and ranges from 0 to 80.

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

# Create 2 plots, one that groups mean garbage amount by hour and one by day fig, (ax1, ax2) = plt.subplots(2, figsize=(12, 8)) fig.supylabel('garbage_drops') data.groupby(data["timestamp"].dt.hour)["garbage_drops"].mean().plot(kind='bar', rot=0, xlabel='Hour of the day', ax=ax1); # Monday = 0, Sunday = 6 data.groupby(data["timestamp"].dt.day_of_week)["garbage_drops"].mean(). plot(kind='bar', rot=0, ax=ax2); --- SECTION: شكل 7.26: مخططات تجميعية --- شكل 7.26: مخططات تجميعية --- VISUAL CONTEXT --- **GRAPH**: Untitled Description: A bar chart showing the mean garbage drops per hour of the day. The x-axis is labeled 'Hour of the day' and ranges from 1 to 23. The y-axis is labeled 'garbage_drops' and ranges from 0 to 100. X-axis: Hour of the day Y-axis: garbage_drops Data: The bar chart displays the average number of garbage drops for each hour of the day. There is a significant dip in garbage drops around hour 5, and the highest averages occur between hours 10 and 12, and again around hour 19. Key Values: Hour 5: ~15, Hour 12: ~100, Hour 19: ~90 Context: This bar chart visualizes the average garbage drops per hour, helping to identify patterns in waste generation throughout the day. **GRAPH**: Untitled Description: A bar chart showing the mean garbage drops per day of the week. The x-axis is labeled 'timestamp' and ranges from 0 to 6, representing days of the week (Monday=0, Sunday=6). The y-axis is labeled 'garbage_drops' and ranges from 0 to 80. X-axis: timestamp Y-axis: garbage_drops Data: The bar chart displays the average number of garbage drops for each day of the week, where 0 represents Monday and 6 represents Sunday. The highest average garbage drops occur on day 3 (Thursday), and the lowest on day 1 (Tuesday). Key Values: Day 0 (Mon): ~57, Day 1 (Tue): ~40, Day 3 (Thu): ~75, Day 6 (Sun): ~50 Context: This bar chart illustrates the average garbage drops per day of the week, revealing potential patterns in waste generation across different days.

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

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

في سياق تحليل بيانات إنترنت الأشياء باستخدام Python، إذا كان لديك عمود 'timestamp' من نوع datetime في DataFrame اسمه 'data'، فكيف يمكنك تجميع متوسط القيم حسب ساعة اليوم؟

  • أ) data.sort_values(by='timestamp').mean()
  • ب) data['timestamp'].hour.mean()
  • ج) data.groupby(data['timestamp'].dt.hour)['column_name'].mean()
  • د) data.plot(kind='bar', x='timestamp')

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

الإجابة: data.groupby(data['timestamp'].dt.hour)['column_name'].mean()

الشرح: 1. استخدم الدالة groupby() لتجميع البيانات. 2. استخدم data['timestamp'].dt.hour لاستخراج الساعة من العمود الزمني واستخدامها كمفتاح للتجميع. 3. حدد العمود المراد حساب متوسطه (مثل 'garbage_drops'). 4. استخدم الدالة mean() لحساب المتوسط لكل مجموعة.

تلميح: تذكر أن خاصية .dt.hour تستخرج الساعة من عمود التاريخ والوقت.

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

عند تحليل بيانات مستشعرات إنترنت الأشياء المرتبطة بالزمن، ما هو الإجراء البرمجي المتبع لتحديد الأنماط المتكررة (مثل ساعات الذروة) في توليد النفايات؟

  • أ) فرز البيانات تنازلياً حسب كمية النفايات وتجاهل الطابع الزمني (Timestamp).
  • ب) تجميع البيانات بناءً على ساعة الطابع الزمني (Hour) ثم حساب المتوسط الحسابي للقيم لكل ساعة.
  • ج) عرض البيانات الخام لكل مستشعر بشكل لحظي دون دمجها في فترات زمنية.
  • د) حساب المجموع التراكمي لجميع القوالب الزمنية وقسمتها على عدد أيام الأسبوع فقط.

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

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

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

تلميح: تذكر الدالة البرمجية التي تقوم بتقسيم البيانات إلى مجموعات زمنية محددة قبل إجراء العمليات الحسابية.

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