Menu
CoddyTech

קריאות חיישנים

חלק מהיחידה נתונים ותרשימים במסלול ה-Machine Learning של Coddy. שיעור 58 מתוך 60.

חיישן מתעד את הטמפרטורה בחדר שרתים בכל שעה, משעה 0 (חצות) ועד 23. כשמדידה נכשלת, הוא כותב במקום זאת -999.

הטכנאי רוצה לסכם כל יום בלי לכלול את התקלות, ולהציג אותו כמו את יום שני (יום 1):

תרשים קווי שכותרתו טמפרטורת חדר השרתים: מכ־17 C בלילה, הקו מטפס לשיא של 29.4 C בשעה 14, ואז יורד בחזרה ל־18 C עד חצות

מעל 25 C, החדר דורש תשומת לב.

challenge icon

אתגר

קשה

הקוד ההתחלתי מכיל קריאות במשך ארבעה ימים ב־week, שורה אחת לכל יום, וקורא מספר יום מ־1 עד 4.

  1. הדפיסו כמה מהקריאות של אותו יום נכשלו.
  2. הדפיסו את הממוצע של הקריאות התקינות, מעוגל לספרה עשרונית אחת באמצעות np.round, ואת מספר הקריאות שהן מעל limit.
  3. הדפיסו את השעה החמה ביותר ואת הקריאה שלה.
  4. ציירו את הקריאות התקינות מול השעות שלהן באמצעות הצורה fig, ax, עם הכותרת Server Room Temperature והתוויות Hour ו־Temperature (C).

עבור יום 1, הפלט המלא הוא:

Failed readings: 3
Average: 21.9
Hours above 25: 7
Warmest: hour 14 at 29.4
Charts drawn: 1
Title: Server Room Temperature
X label: Hour
Y label: Temperature (C)
Lines: 1
Across (x): [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23]
Up (y): [17.2, 16.8, 16.5, 16.1, 16.4, 17.9, 19.6, 21.8, 23.5, 25.1, 27.9, 28.8, 29.4, 28.7, 27.2, 25.6, 23.9, 21, 19.8, 18.6, 17.9]

נסו בעצמכם

import numpy as np
import matplotlib.pyplot as plt

# טמפרטורת חדר השרתים (C) בשעות 0 עד 23, שורה אחת לכל יום; -999 מציין שהמדידה נכשלה
week = np.array([
    [17.2, 16.8, 16.5, -999, 16.1, 16.4, 17.9, 19.6, 21.8, 23.5, 25.1, -999,
     27.9, 28.8, 29.4, 28.7, 27.2, 25.6, 23.9, -999, 21.0, 19.8, 18.6, 17.9],
    [-999, 17.4, 17.0, 16.7, 16.6, 17.0, 18.2, 19.9, 21.5, -999, 24.6, 26.0,
     27.1, 27.8, 28.0, 28.3, 26.4, -999, 23.1, 21.7, 20.5, 19.4, 18.8, 18.1],
    [18.3, 18.0, 17.8, 17.5, 17.6, -999, -999, 20.4, 22.9, 25.3, 27.6, 29.5,
     31.0, 32.2, 32.9, 33.1, 32.4, 30.8, 28.7, 26.5, 24.6, 22.8, 21.3, 20.1],
    [16.9, 16.5, 16.2, 16.0, 15.8, 16.1, 16.9, 18.0, 19.4, 20.8, 22.3, 23.6,
     24.7, 26.2, 25.8, 25.1, 24.0, 22.6, 21.3, 20.2, 19.3, 18.5, 17.8, -999],
])
day = int(input())
limit = 25

# כתבו את הקוד שלכם למטה
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה נתונים ותרשימים

תרגלו בעצמכם: קומפיילר Python אונליין