Introduzione al Progetto
Siamo arrivati all’ultima lezione del nostro corso, dove ci concentreremo sulla visualizzazione dei dati, uno strumento essenziale per analisi chiare e convincenti. Impareremo a creare grafici utilizzando Matplotlib, una delle librerie più popolari in Python per la creazione di grafici bidimensionali.
Sommario
Soluzioni esercizi lezione 09
#dataset esempio
nome,età,stipendio,dipartimento
Alice,25,3000,IT
Bob,30,4000,HR
Charlie,35,5000,Finance
David,28,3200,IT
Eva,40,6000,Finance
import pandas as pd
# Creazione del dataset
data = {
"nome": ["Alice", "Bob", "Charlie", "David", "Eva"],
"età": [25, 30, 35, 28, 40],
"stipendio": [3000, 4000, 5000, 3200, 6000],
"dipartimento": ["IT", "HR", "Finance", "IT", "Finance"]
}
df = pd.DataFrame(data)
#esercizio 1
filtro_stipendio = df[df["stipendio"] > 3500]
filtro_stipendio.to_csv("dipendenti_filtrati.csv", index=False)
print("Esercizio 1 completato: Dati filtrati salvati in 'dipendenti_filtrati.csv'")
#esercizio 2
statistiche = df.groupby("dipartimento")["stipendio"].agg(["mean", "min", "max"])
print("Esercizio 2 completato: Statistiche sui dipartimenti")
print(statistiche)
#esercizio 3
filtro_it = df["dipartimento"] == "IT"
df.loc[filtro_it, "stipendio"] *= 1.15
df.to_excel("dipendenti_aumento.xlsx", index=False)
print("Esercizio 3 completato: File salvato in 'dipendenti_aumento.xlsx'")
Obiettivi della lezione 10
- Comprendere il ruolo della visualizzazione dei dati.
- Apprendere i fondamenti di Matplotlib e la sua configurazione.
- Creare grafici base come line chart, bar chart, pie chart e scatter plot.
- Personalizzare i grafici con etichette, colori e titoli.
- Integrare Pandas e Matplotlib per la visualizzazione di dataset.
Introduzione a Matplotlib
Matplotlib è una libreria Python per creare grafici statici, animati e interattivi. È altamente personalizzabile e spesso utilizzata insieme a Pandas per rappresentare visivamente dataset.
#bash
pip install matplotlib
import matplotlib.pyplot as plt
Il Primo Grafico: Line Chart (Grafico a Linea)
Un line chart è un grafico in cui i dati sono rappresentati da una serie di punti collegati da linee. Viene utilizzato per mostrare una relazione tra due variabili, spesso in funzione del tempo o di un’altra variabile continua.
import matplotlib.pyplot as plt
# Dati
x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]
# Creazione del grafico
plt.plot(x, y)
plt.title("Grafico Lineare")
plt.xlabel("Asse X")
plt.ylabel("Asse Y")
plt.show()
#cambia colore e tipo linea
plt.plot(x, y, color='red', linestyle='--', marker='o')
plt.show()
#rimuovi la griglia
plt.grid(False)
Quando usarlo:
- Per mostrare tendenze nel tempo (es. variazioni mensili delle vendite o temperature giornaliere).
- Per evidenziare andamenti, pattern o variazioni in modo continuo.
- Ideale quando hai dati con intervalli regolari (es. giornalieri, mensili, annuali).
Esempi d’uso:
- Monitorare il fatturato di un’azienda trimestre per trimestre.
- Visualizzare il cambiamento del prezzo di una criptovaluta nel tempo.
Bar Chart (Grafico a Barre)
Un barplot utilizza barre verticali (o orizzontali) per rappresentare i valori di categorie discrete. La lunghezza delle barre è proporzionale al valore che rappresentano.
categorie = ["A", "B", "C", "D"]
valori = [5, 10, 15, 7]
plt.bar(categorie, valori, color='blue')
plt.title("Grafico a Barre")
plt.xlabel("Categorie")
plt.ylabel("Valori")
plt.show()
categorie = ["A", "B", "C", "D"]
valori = [5, 10, 15, 7]
plt.barh(categorie, valori, color='green')
plt.title("Grafico a Barre Orizzontale")
plt.show()
Quando usarlo:
- Per confrontare categorie discrete (es. regioni, prodotti, gruppi demografici).
- Per evidenziare differenze tra elementi in un determinato momento.
- Quando vuoi una rappresentazione visivamente chiara di dati categorici.
Esempi d’uso:
- Mostrare il numero di clienti per ciascun negozio in una catena.
- Confrontare il rendimento di studenti in diverse materie.
Pie Chart (Grafico a Torta)
Un piechart è un grafico circolare diviso in sezioni, dove ciascuna rappresenta una proporzione del totale. Le dimensioni delle sezioni sono proporzionali ai valori relativi.
etichette = ["A", "B", "C", "D"]
valori = [30, 20, 40, 10]
plt.pie(valori, labels=etichette, autopct="%1.1f%%", startangle=90)
plt.title("Grafico a Torta")
plt.show()
Quando usarlo:
- Per rappresentare percentuali o frazioni di un intero (100%).
- Per visualizzare distribuzioni o composizioni.
- Ideale per un massimo di 5-6 categorie; troppe sezioni possono renderlo confuso.
Esempi d’uso:
- Visualizzare la ripartizione del budget aziendale tra diversi dipartimenti.
- Rappresentare la percentuale di voti ricevuti da diversi candidati.
Nota: Evita di usarlo per confronti precisi; un barplot è generalmente più chiaro in questi casi.
Scatter Plot (Grafico a punti)
Un scatterplot rappresenta i dati come punti in un piano cartesiano, dove ogni punto è definito da due coordinate (x, y). Viene usato per visualizzare la relazione tra due variabili.
x = [5, 7, 8, 7, 2, 17, 2, 9, 4, 11]
y = [99, 86, 87, 88, 100, 86, 103, 87, 94, 78]
plt.scatter(x, y, color='purple')
plt.title("Scatter Plot")
plt.xlabel("Variabile X")
plt.ylabel("Variabile Y")
plt.show()
Quando usarlo:
- Per mostrare relazioni o correlazioni tra due variabili (es. altezza e peso).
- Per identificare outlier o pattern nascosti nei dati.
- Ideale per grandi quantità di dati non strutturati.
Esempi d’uso:
- Analizzare la relazione tra la pubblicità e le vendite.
- Studiare il legame tra ore di studio e voti agli esami.
Integrazione di Pandas e Matplotlib
Puoi usare Matplotlib insieme a Pandas per creare grafici direttamente dai dati di un DataFrame.
import pandas as pd
import matplotlib.pyplot as plt
# Creazione del DataFrame
dati = {
"Mese": ["Gennaio", "Febbraio", "Marzo", "Aprile"],
"Vendite": [3000, 4000, 3500, 5000]
}
df = pd.DataFrame(dati)
# Line chart
plt.plot(df["Mese"], df["Vendite"])
plt.title("Vendite Mensili")
plt.xlabel("Mese")
plt.ylabel("Vendite")
plt.show()
Esempio con Barplot:
df.plot(kind="bar", x="Mese", y="Vendite", color="skyblue")
plt.title("Vendite Mensili")
plt.xlabel("Mese")
plt.ylabel("Vendite")
plt.show()
Salvataggio dei Grafici
Puoi salvare i grafici creati con Matplotlib in vari formati come PNG, PDF o SVG.
plt.plot(x, y)
plt.savefig("grafico.png") # Salva il grafico come file PNG
Esercizi pratici
-
Esercizio 1: Grafico Lineare
Crea un grafico lineare che rappresenti le vendite mensili di un negozio. -
Esercizio 2: Grafico a Barre
Crea un grafico a barre per confrontare le vendite di tre dipartimenti: IT, HR e Finance. -
Esercizio 3: Pie Chart
Crea un grafico a torta che rappresenti le percentuali di utilizzo di diversi linguaggi di programmazione (Python, Java, C++, ecc.). -
Esercizio 4: Scatter Plot
Crea uno scatter plot che rappresenti la relazione tra il numero di ore di studio e il punteggio di un esame.
Conclusioni e anticipazioni
In questa lezione abbiamo:
- Imparato a creare diversi tipi di grafici con Matplotlib.
- Personalizzato grafici aggiungendo colori, titoli ed etichette.
- Integrato Pandas con Matplotlib per visualizzare dataset reali.
- Appreso come salvare i grafici per presentazioni o report.
Homepage del Corso Introduttivo
Sei curioso di scoprire il mondo della programmazione?
Con il mio corso gratuito di Python potrai infatti scoprire gli aspetti del linguaggio.
Ogni lezione è spiegata in modo chiaro e pratico.
Inoltre, grazie a esercizi e materiali di supporto, potrai quindi mettere subito in pratica ciò che impari.
