Guida Progetto · Percorso Python

Dashboard Interattiva di Analisi Dati

Un cruscotto web dove caricare un file, esplorarlo e visualizzarlo, senza scrivere codice ogni volta.

0 di 5 passaggi completati

01Obiettivo del Progetto

Cosa costruirai

Un'applicazione Streamlit dove l'utente carica un file CSV, vede subito statistiche di base, filtra i dati con controlli interattivi, e visualizza grafici — tutto senza toccare il codice.

Prerequisiti — guide da cui questo progetto attinge

Guida 10Pandas
Guida 11Visualizzazione Dati
Guida 14EDA e Statistica Descrittiva
Guida 23Deployment con Streamlit

02Passo dopo Passo

Spunta ogni passaggio man mano che lo completi: sbloccherai l'attestato del progetto al termine.

Passo 1 — Codice

# dashboard.py
import streamlit as st
import pandas as pd

st.title("📊 Dashboard di Analisi Dati")
file_caricato = st.file_uploader("Carica un file CSV", type="csv")

if file_caricato:
    df = pd.read_csv(file_caricato)
    st.success(f"Caricate {df.shape[0]} righe e {df.shape[1]} colonne")
1. Crea l'uploader del file CSVUsa st.file_uploader() e pd.read_csv() come nel Passo 1.

Passo 2 — Codice

    st.subheader("Anteprima dei dati")
    st.dataframe(df.head(10))

    st.subheader("Statistiche descrittive")
    st.dataframe(df.describe())
2. Mostra anteprima e statisticheUsa st.dataframe() con .head() e .describe(), come nel Passo 2.

Passo 3 — Codice

    colonne_numeriche = df.select_dtypes(include="number").columns.tolist()
    colonna_scelta = st.selectbox("Scegli una colonna da filtrare", colonne_numeriche)
    soglia = st.slider(f"Mostra righe con {colonna_scelta} maggiore di:",
                       float(df[colonna_scelta].min()), float(df[colonna_scelta].max()))
    df_filtrato = df[df[colonna_scelta] > soglia]
    st.write(f"{len(df_filtrato)} righe corrispondenti")
3. Aggiungi un filtro interattivoUsa st.selectbox() e st.slider() per filtrare i dati in tempo reale, come nel Passo 3.

Passo 4 — Codice

    st.subheader("Visualizzazione")
    st.bar_chart(df_filtrato[colonna_scelta])
    st.line_chart(df_filtrato[colonna_scelta])
4. Aggiungi grafici sui dati filtratiUsa st.bar_chart() e st.line_chart() sui dati filtrati, come nel Passo 4.

Passo 5 — Codice

# Nel terminale, dalla cartella del progetto:
# streamlit run dashboard.py
# Carica un file CSV di prova e verifica ogni controllo
5. Avvia e testa la dashboardEsegui l'app e verifica upload, filtro e grafici con un file CSV reale, come nel Passo 5.

03Sfide ed Estensioni

Sfida 1

Filtri multipli

Aggiungi un secondo filtro su una colonna categorica (testuale), usando st.multiselect() per scegliere una o più categorie da includere.

⏱ 25 minuti🖥️ Individuale
Sfida 2

Download dei dati filtrati

Aggiungi un pulsante st.download_button() che permetta all'utente di scaricare il DataFrame filtrato come nuovo file CSV.

⏱ 20 minuti🖥️ Individuale
Sfida 3

Grafico a scelta dell'utente

Aggiungi un selectbox che permetta all'utente di scegliere tra grafico a barre, a linee o scatter, mostrando quello selezionato con Matplotlib.

⏱ 30 minuti🖥️ Individuale

🎓 Attestato di completamento progetto

Completa tutti i 5 passaggi per sbloccare il tuo attestato in PDF.

0 / 5 passaggi completati