from sklearn.preprocessing import StandardScaler
import numpy as np

# Dati di esempio: punteggi ottenuti da 5 studenti in un test (scala 0-100)
data = [[50], [60], [70], [80], [90]]

# Convertiamo in array numpy per calcolare facilmente statistiche descrittive
data_array = np.array(data)

# Calcoliamo media e deviazione standard originali, utili per il confronto successivo
print(f"Media originale: {data_array.mean():.2f}")
print(f"Deviazione standard originale: {data_array.std():.2f}")

# Creiamo l'oggetto StandardScaler, che si occuperà di standardizzare i dati
scaler = StandardScaler()

# fit_transform calcola media e deviazione standard dai dati (fit)
# e applica subito la trasformazione (transform)
standardized_data = scaler.fit_transform(data)

print("Dati standardizzati:")
print(standardized_data)

# Verifichiamo che i dati standardizzati abbiano media 0 e deviazione standard 1
print(f"Media dopo standardizzazione: {standardized_data.mean():.2f}")
print(f"Deviazione standard dopo standardizzazione: {standardized_data.std():.2f}")