Air quality

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