Classifica VIS et HONOR 2024
A Pasquetta è sempre brutto tempo?
Ogni anno, quando ci avviciniamo a Pasqua sorge sempre la stessa domanda: “che tempo farà a Pasquetta?” E via giù di meme, che la risposta la sappiamo tutti: a pasquetta piove. Sempre. Il lunedì di Pasquetta è la giornata consacrata al maltempo, punto. Fa parte integrante della tradizione pasquale.
Ma qui su infigures siamo abituati ad affrontare le cose in maniera diversa. Cosa dicono davvero i dati? Quello di oggi è un post diverso dal solito. Più da nerd. Ho scritto un codice in R per verificare se davvero a Pasquetta piove sempre. Facciamo un po’ di web scraping sul sito ilmeteo.it. Per chi non lo sapesse, il web scraping è il processo di estrazione automatica di dati da pagine web. Bene, iniziamo.
Anzitutto le librerie necessarie per questo esercizio:
library(timeDate) # serve per il calcolo della Pasqua
library(lubridate) # per lavorare con le date
library(rvest) # per il web scraping
library(dplyr) # per la manipolazione dei dati
Mi creo un dataframe (lo chiamo per brevità df) con una colonna Anno contenente gli anni cui sono interessato (dal 2006 al 2023), una colonna Pasquetta contenente la data della pasqua +1. Easter è la funzione della libreria timeDate per il calcolo della pasqua a partire dall’anno.
df <- data.frame(Anno = 2006:2023)
df$Pasquetta <- Easter(df$Anno) + days(1)
df$Pasquetta <- as.Date(df$Pasquetta)
Creo poi una colonna Mese con il nome del mese della pasquetta (mi servirà per poi fare lo scraping su ilmeteo.it, il Giorno del mese e una colonna Meteo inizializzata a NA e che in seguito conterrà la condizione meteo di quel giorno.
mesi <- c("gennaio", "febbraio", "marzo", "aprile", "maggio", "giugno", "luglio", "agosto", "settembre", "ottobre", "novembre", "dicembre")
df$Mese <- mesi[month(df$Pasquetta)]
df$Giorno <- day(df$Pasquetta)
df$Meteo <- NA
Viene ora la parte di web scraping. Di fatto un ciclo for e per ogni riga del dataframe
for (i in 1:nrow(df)) {
# Costruisco l'URL da interrogare
# in questo caso sono interessato al meteo di Roma
url <- paste0("https://www.ilmeteo.it/portale/archivio-meteo/Roma/",
df$Anno[i],
"/",
df$Mese[i],
"/",
df$Giorno[i],
sep = "")
# Eseguo il web scraping e aggiungo i dati nella colonna "Meteo"
# La condizione meteo si trova nell'ultima riga della tabella del sito
df$Meteo[i] <- read_html(url) %>%
html_node(xpath = "//table[position() = 2]//tr[last()]//td[2]") %>%
html_text()
# Stampo il progresso per vedere quanto mi manca alla fine dello scraping
cat("Progresso:", i, "/", nrow(df), "\n")
}
Ora che abbiamo il nostro bel df facciamo un minimo di pulizia sul testo (togliamo gli spazi in eccesso e mettiamo tutto in minuscolo).
df$Meteo <- tolower(trimws(df$Meteo))
Et voilà, questo è il risultato:
Anno | Meteo lunedì di Pasquetta- RM |
---|---|
2006 | pioggia debole |
2007 | poco nuvoloso |
2008 | temporale |
2009 | pioggia e schiarite |
2010 | nubi sparse |
2011 | coperto |
2012 | sereno |
2013 | coperto |
2014 | poco nuvoloso |
2015 | poco nuvoloso |
2016 | nubi sparse |
2017 | poco nuvoloso |
2018 | poco nuvoloso |
2019 | pioggia e schiarite |
2020 | nebbia al mattino |
2021 | poco nuvoloso |
2022 | sereno |
2023 | poco nuvoloso |
Oppure possiamo sintetizzare l’informazione con questa linea di codice:
df %>% count(Meteo) %>% arrange(desc(n))
Meteo | n |
---|---|
poco nuvoloso | 7 |
coperto | 2 |
nubi sparse | 2 |
pioggia e schiarite | 2 |
sereno | 2 |
nebbia al mattino | 1 |
pioggia debole | 1 |
temporale | 1 |
Ohibò, solo due giornate con tempo sereno…

Dubbi, perplessità? Fatemi sapere. Ma questo è solo l’inizio per delle persone curiose. Ad esempio si può modificare il codice per vedere il meteo di Milano o di Napoli. Si può controllare il meteo una settimana prima e una settimana dopo la pasquetta per verificare se ci siano differenze significative. Oppure ancora si potrebbero calcolare altri indicatori come ad esempio la temperatura media.
Provate voi stessi, ho messo a disposizione il codice qui su COLAB.
Grazie Piero!
Leggi tutto “Grazie Piero!”Cari amici, mi spiace non essere più con voi dopo 70 anni assieme. Ma anche la natura ha i suoi ritmi. Sono stati anni per me molto stimolanti che mi hanno portato a conoscere il mondo e la natura umana.
Piero Angela
Soprattutto ho avuto la fortuna di conoscere gente che mi ha aiutato a realizzare quello che ogni uomo vorrebbe scoprire. Grazie alla scienza e a un metodo che permette di affrontare i problemi in modo razionale ma al tempo stesso umano.
Malgrado una lunga malattia sono riuscito a portare a termine tutte le mie trasmissioni e i miei progetti (persino una piccola soddisfazione: un disco di jazz al pianoforte…). Ma anche, sedici puntate dedicate alla scuola sui problemi dell’ambiente e dell’energia.
È stata un’avventura straordinaria, vissuta intensamente e resa possibile grazie alla collaborazione di un grande gruppo di autori, collaboratori, tecnici e scienziati.
A mia volta, ho cercato di raccontare quello che ho imparato.
Carissimi tutti, penso di aver fatto la mia parte. Cercate di fare anche voi la vostra per questo nostro difficile Paese.
Un grande abbraccio
A fuoco!
Un anno fa (2020) la notizia dell’Australia in fiamme fece il giro del mondo. Quest’anno a fare notizia sono gli incendi in Siberia e in Alaska. A ben vedere nel mondo ci sono migliaia di incendi devastanti che passano più inosservati di altri. Inosservati dai media ma non di certo dai satelliti della NASA.
Leggi tutto “A fuoco!”16/12/2020
Oggi 16/12/20 è un giorno pitagorico. Infatti 16² + 12² = 20².
Leggi tutto “16/12/2020”Decodificato il codice Zodiac
A cosa serve la matematica? A risolvere casi polizieschi dopo oltre 50 anni.
Leggi tutto “Decodificato il codice Zodiac”Data Driven Innovation 2020
La più grande conferenza italiana sul ruolo dei dati nell’innovazione. Data Driven Innovation (DDI) è l’appuntamento annuale in cui data scientist e specialisti di tanti domini applicativi raccontano come la cultura dei dati sta cambiando la nostra società e la nostra economia.
Data Driven Innovation 2020 si svolgerà sulla piattaforma digitale di Maker Faire Rome.
C’era una volta un re…
C’era una volta un re di nome Federico che chiamò a corte un matematico di nome Leonardo. No, questa non è una fiaba ma la storia vera accaduta tanto tanto tempo fa.
Leggi tutto “C’era una volta un re…”Statistica d’inchiesta
Esistono due tipi di statistica: quella descrittiva e quella inferenziale. La statistica descrittiva si occupa della descrizione di un fenomeno (attraverso indici e grafici). La statistica inferenziale si occupa invece di fare “inferenza” (attraverso un processo induttivo che va dal particolare al generale) sulle caratteristiche di una popolazione basandosi sui dati campionari. Ma a ben guardare esiste un altro tipo di statistica: la statistica d’inchiesta. Non si studia a scuola o all’università, la si esercita sul campo. Nasce dall’incontro tra statistica e il giornalismo d’inchiesta.
Leggi tutto “Statistica d’inchiesta”