Estrai una funzione
Mentre sviluppavi un modello per prevedere i diplomi universitari, hai scritto il codice qui sotto per ottenere gli z-score delle medie annuali (GPA) degli studenti (gli z-score indicano di quante deviazioni standard ci si discosta dalla media). Ora sei pronto per trasformarlo in un sistema di qualità da produzione, quindi devi eliminare la ripetizione. Scrivere una funzione per calcolare gli z-score lo migliorerebbe.
# Standardizza i GPA per ciascun anno
df['y1_z'] = (df.y1_gpa - df.y1_gpa.mean()) / df.y1_gpa.std()
df['y2_z'] = (df.y2_gpa - df.y2_gpa.mean()) / df.y2_gpa.std()
df['y3_z'] = (df.y3_gpa - df.y3_gpa.mean()) / df.y3_gpa.std()
df['y4_z'] = (df.y4_gpa - df.y4_gpa.mean()) / df.y4_gpa.std()
Nota: df è un DataFrame di pandas in cui ogni riga rappresenta uno studente, con 4 colonne delle medie annuali (GPA) degli studenti: y1_gpa, y2_gpa, y3_gpa, y4_gpa.
Questo esercizio fa parte del corso
Scrivere funzioni in Python
Istruzioni dell'esercizio
- Completa la funzione in modo che restituisca gli z-score di una colonna.
- Usa la funzione per calcolare gli z-score di ogni anno (
df['y1_z'],df['y2_z'], ecc.) a partire dai punteggi GPA grezzi (df.y1_gpa,df.y2_gpa, ecc.).
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
def standardize(column):
"""Standardize the values in a column.
Args:
column (pandas Series): The data to standardize.
Returns:
pandas Series: the values as z-scores
"""
# Finish the function so that it returns the z-scores
z_score = (____ - ____.____()) / ____.____()
return z_score
# Use the standardize() function to calculate the z-scores
df['y1_z'] = ____
df['y2_z'] = ____
df['y3_z'] = ____
df['y4_z'] = ____