Carica il file air_quality_no2.csv
import pandas as pd
air_quality=pd.read_csv("air_quality_no2.csv", index_col=0, parse_dates=True)
Osserva l’uso dei parametri
- index_col=0, utilizza la colonna 0 come indice
- parse_dates=True, converte le date nel tipo TimeStamp
Controlla se l’acquisizione ha avuto successo
print(air_quality.dtypes) # float64 float64 float64
print(air_quality.index) # ...
print(air_quality.shape) # (1035, 3)
Importa la libreria con l’alias plt
import matplotlib.pyplot as plt
La funzione plot()
- utilizza per l’asse x l’indice datetime
- produce un grafico per ogni colonna (non indice…)
air_quality.plot()
Seleziona la colonna “station_paris” e poi richiama il grafico
air_quality["station_paris"].plot()
Grafico a dispersione
- incrocia i dati di due colonne (Londra con Parigi)
- trasparenza 50%
air_quality.plot.scatter(x="station_london",
y="station_paris",
alpha=0.5)
Quali grafici sono disponibili con plot()?
[ method_name for method_name in dir(air_quality.plot) if not method_name.startswith("_") ]
['area', 'bar', 'barh', 'box', 'density', 'hexbin', 'hist', 'kde', 'line', 'pie', 'scatter']
Grafico scatter (a cassetti)
air_quality.plot.box()
Grafici separati per ogni colonna
air_quality.plot.area(figsize=(12, 12), subplots=True)
Si possono utilizzare tutte le potenzialità di matplotlib
fig, axs = plt.subplots(figsize=(12, 6))
air_quality.plot.area(ax=axs)
axs.set_ylabel("NO$_2$ concentration")
fig.savefig("no2_concentrations.png")
Lavorare con le colonne
Aggiungere una colonna con la concentrazione di biossido di azoto a Londra.
Con una temperatura di 25 gradi Celsius e una pressione di 1013 hPa il fattore di conversione è 1.882.
air_quality["london_mg_per_cubic"] = air_quality["station_london"] * 1.882
Aggiungere una colonna con il rapporto tra i dati di Parigi e di Anversa.
air_quality["ratio_paris_antwerp"] = air_quality["station_paris"] / air_quality["station_antwerp"]
Rinominare le colonne (tramite un dizionario con le coppie vecchio-nuovo)
air_quality_renamed = air_quality.rename( columns={"station_antwerp": "BETR801",
"station_paris" : "FR04014",
"station_london" : "London Westminster"
}
)
Trasformare in minuscolo le etichette delle colonne
air_quality_renamed = air_quality_renamed.rename(columns=str.lower)
…
Vedi