RIPAM 3997

Python + R + EDAAggiornato: v1.0 - 06/03/2026

Programmazione Statistica: Python e R

Sintesi Operativa

Competenze fondamentali e strumenti tecnici per l'analisi dei dati con Python e R.

  • Python: pandas, numpy, matplotlib, seaborn, scipy.stats, statsmodels
  • R: tidyverse (dplyr, ggplot2, tidyr), funzioni statistiche native
  • EDA: Workflow metodico di pulizia, ispezione, statistica descrittiva e analisi grafica
  • Riproducibilita: Script, seed fisso, ambienti virtuali, Git
  • Formati dati: CSV, Excel, JSON, Parquet (Big Data)

1. Introduzione alla Programmazione Statistica

1.1 Confronto Python vs R

AspettoPythonR
TipoGeneral-purpose (versatile)Specializzato per statistica
Analisi datipandas, numpydata.frame, tidyverse
Visualizzazionematplotlib, seabornggplot2
Statisticascipy.stats, statsmodelsIntegrata + pacchetti CRAN
Machine Learningscikit-learn, TensorFlowcaret, mlr3
AmbienteJupyter Notebook, VS CodeRStudio

2. L'Ecosistema Python per l'Analisi Dati

2.1 NumPy e pandas

LibreriaFunzioneVantaggio
NumPyCalcolo numerico, array N-dimensionaliOperazioni vettorizzate (senza cicli for)
pandasDati tabulari: Series (colonne) e DataFrame (tabelle)Manipolazione SQL-like

Funzioni chiave pandas:
I/O: pd.read_csv(), pd.read_excel(), df.to_csv()
Esplorazione: df.head(), df.describe() (statistiche), df.info() (tipi e NaN)
Manipolazione: df.groupby(), df.merge() (join), df.pivot_table()

2.2 Visualizzazione e Test Statistici

LibreriaGrafici/Funzioni
matplotlib / seabornIstogrammi, box plot, scatter plot, heatmap correlazioni
scipy.statst-test, chi-quadro, Shapiro-Wilk (normalita), ANOVA
statsmodelsRegressione OLS: sm.OLS(y, X).fit()

3. Il Linguaggio R e il Framework tidyverse

R: ambiente open-source per la statistica. Strutture native: vettori, matrici, data.frame, liste e fattori (variabili categoriali).

3.1 Il Sistema tidyverse

PacchettoFunzioneComandi Chiave
dplyrManipolazione datifilter(), select(), mutate(), group_by() + summarize()
ggplot2Visualizzazione (Grammar of Graphics)Grafici per livelli: geom_point, geom_boxplot, ecc.
tidyrPulizia e riorganizzazionepivot_longer(), pivot_wider()

3.2 Funzioni Statistiche Native in R

t.test(): Test su campioni
lm(y ~ x): Regressione lineare
shapiro.test(): Verifica normalita
Operatore Pipe (%>%): Concatena operazioni in sequenza logica

4. Analisi Esplorativa dei Dati (EDA)

L'EDA e il passo preliminare indispensabile per comprendere pattern e anomalie nei dati.

Workflow Metodologico

  1. Importazione e Ispezione: Caricamento dati, verifica struttura (shape, head)
  2. Pulizia: Valori mancanti (NaN) → rimozione (dropna) o imputazione (fillna); gestione duplicati
  3. Statistica Descrittiva: Media, mediana, deviazione standard, quartili
  4. Analisi Grafica: Distribuzioni e relazioni tra variabili
  5. Gestione Outlier: Identificazione tramite box plot o z-score

Attenzione sugli outlier: La decisione di rimuoverli o trasformarli deve essere guidata dalla comprensione della loro origine, non automatica.

5. Automazione, Riproducibilita e Formati Dati

Best Practices per la Riproducibilita

PraticaStrumento
ScriptingCodice .py o .R (no point-and-click)
Seed fissonp.random.seed() (Python) / set.seed() (R)
Ambienti virtualivenv (Python) / renv (R)
Controllo versioneGit

Formati di File

FormatoCaratteristicaUso
CSVTesto, piu comuneScambio dati universale
ExcelFogli multipli, formattazioneReportistica
JSONStandard webDati da API
ParquetColonnare, compressoBig Data - superiore a CSV/Excel per grandi volumi

6. Riepilogo Concetti Chiave per Quiz

AmbitoPythonR
Dati Tabularipandas (DataFrame)data.frame / dplyr
Calcolo Numericonumpy (array)Vettori nativi
Graficimatplotlib / seabornggplot2
Regressionestatsmodels (OLS)lm(y ~ x)
Gestione NaNdropna(), fillna()Funzioni di pulizia tidyr
Big DataFormato ParquetFormato Parquet

RIPAM Studio - Preparazione Concorsi Pubblici

Telegram RIPAM: t.me/ripam3997studio | Telegram MIC: t.me/mic1800studio

Facebook: facebook.com/share/1DVTAWWmRg