Letture dei sensori
Fa parte della sezione Dati e grafici del percorso Machine Learning di Coddy. Lezione 58 di 60.
Un sensore registra la temperatura di una sala server ogni ora, dall'ora 0 (mezzanotte) alle 23. Quando una rilevazione non riesce, scrive -999 al suo posto.
Il tecnico vuole che venga calcolata la somma di ogni giornata escludendo i guasti e che venga rappresentata come quella di lunedì (giorno 1):
Sopra i 25 C, la stanza richiede attenzione.
Sfida
DifficileIl codice iniziale contiene le letture di quattro giorni in week, una riga per giorno, e legge il numero di un giorno, da 1 a 4.
- Stampa quante letture di quel giorno non sono riuscite.
- Stampa la media delle letture valide, arrotondata a 1 decimale con
np.round, e quante sono superiori alimit. - Stampa l'ora più calda e la relativa lettura.
- Disegna le letture valide rispetto alle rispettive ore usando la forma
fig, ax, con il titoloServer Room Temperaturee le etichetteHoureTemperature (C).
Per il giorno 1, l'output completo è:
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]Provalo tu
import numpy as np
import matplotlib.pyplot as plt
# Temperatura de la sala de servidores (C) entre las horas 0 y 23, una fila por día; -999 indica que la lectura falló
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
# Escribe tu código a continuación
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Dati e grafici
4Modellare i dati
Rimodellare gli arrayUnire gli arrayNumeri casualiRipasso: simulazione del lancio dei dadi2Array NumPy
Creazione di arrayForma e dimensioneIntervalli di numeriIndicizzazione e slicingRiepilogo: griglia delle temperature5Grafici a linee e a dispersione
Etichette e titoliGrafici a dispersionePiù linee e legendeColori e marcatoriFigure e assiRiepilogo: passi settimanali8Filtraggio e ordinamento
Selezionare le righeFiltrare le righeOrdinare i valoriNuove colonneRiepilogo: i prodotti migliori3Matematica con gli array
Operazioni matematiche su interi arrayStatistiche riassuntiveStatistiche per asseBroadcastingMaschere booleaneRiepilogo: voti d'esame6Grafici per i dati
Grafici a barreIstogrammiPiù grafici in unoImmagini come arrayRiepilogo: rapporto sulle precipitazioni9Raggruppamento e pulizia
Conteggio dei valoriRaggruppare i datiDiversi riepiloghiValori mancantiRiepilogo: risultati del sondaggio12Sfide finali
Report sulle venditeLetture dei sensoriLe cifre a colpo d’occhioEsploratore dei pinguiniEsercitati da solo: Compilatore Python online