Menu
CoddyTech

Relevés des capteurs

Fait partie de la section Données et visualisations du Journey Machine Learning de Coddy. Leçon 58 sur 60.

Un capteur enregistre la température d’une salle serveur toutes les heures, de l’heure 0 (minuit) à 23. Lorsqu’une mesure échoue, il écrit -999 à la place.

Le technicien veut que chaque journée soit résumée sans tenir compte des pannes, et représentée comme celle de lundi (jour 1) :

Graphique linéaire intitulé Température de la salle des serveurs : d’environ 17 C pendant la nuit, la courbe monte jusqu’à un pic de 29.4 C à l’heure 14, puis redescend à 18 C à minuit

Au-dessus de 25 °C, la pièce nécessite une attention particulière.

challenge icon

Défi

Difficile

Le code de départ contient les relevés de quatre jours dans week, une ligne par jour, et lit un numéro de jour, de 1 à 4.

  1. Affiche le nombre de relevés défaillants pour ce jour.
  2. Affiche la moyenne des relevés valides, arrondie à 1 décimale avec np.round, ainsi que le nombre de relevés supérieurs à limit.
  3. Affiche l’heure la plus chaude et son relevé.
  4. Trace les relevés valides en fonction de leurs heures avec la forme fig, ax, avec pour titre Server Room Temperature, et pour libellés Hour et Temperature (C).

Pour le jour 1, la sortie complète est :

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]

Essayez vous-même

import numpy as np
import matplotlib.pyplot as plt

# Température de la salle des serveurs (C) aux heures 0 à 23, une ligne par jour ; -999 indique que la mesure a échoué
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

# Écrivez votre code ci-dessous
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Données et visualisations

Entraînez-vous par vous-même : Compilateur Python en ligne