Quando lavoriamo con i dati reali, รจ comune imbattersi in valori mancanti. Questi possono causare problemi nelle nostre analisi e nei nostri modelli.

In questa micro-lezione passeremo in rassegna il metodo fillna() di pandas, che ci permette di gestire con facilitร  i valori nulli.

Le librerie e il dataframe

Iniziamo importando le due librerie necessarie per questa micro-lezione:

import pandas as pd
import numpy as np

Adesso creiamo un dataframe (puoi omettere questo passaggio se hai giร  un set di dati su cui stai lavorando):

# Creiamo un dataframe di esempio con valori mancanti
df = pd.DataFrame({
    'Nome': ['Mario', 'Luigi', 'Peach', 'Bowser'],
    'Etร ': [30, np.nan, 25, np.nan],
    'Punteggio': [95.5, 88.0, np.nan, 75.0]
})

Il nostro dataframe ha dei valori nulli, come evidenziato in questa immagine:

Utilizzo base di fillna()

Adesso sostituiamo i dati mancanti con un valore predefinito. In questo esempio tutti i valori mancanti del dataframe, a prescindere della colonna in cui si trovano, saranno sostituiti da 0.

df.fillna(0, inplace=True)
โ

Nota bene:

Il parametro inplace=True fa sรฌ che il metodo fillna() venga applicato direttamente al dataframe sul quale stiamo lavorando.

Dopo questa operazione, il nostro dataframe sarร  cosรฌ:

Valori diversi per colonne diverse

Possiamo anche specificare dei valori da sostituire a quelli mancanti diversi per ogni colonna. Ecco come fare:

df.fillna({
    'Etร ': "/",
    'Punteggio': "-"
},
inplace=True)

In questo caso i valori nulli della colonna โ€œEtร โ€ saranno sostituiti da โ€œ/โ€ e quelli della colonna โ€œPunteggioโ€ dal carattere โ€œ-โ€.

Possiamo anche eseguire operazioni piรน complesse. Immaginiamo di voler:

  • Sostituire i valori nulli della colonna โ€œEtร โ€ con la media degli altri valori della colonna

  • Sostituire i valori nulli della colonna โ€œPunteggioโ€ con la mediana degli altri valori della colonna

Ecco come possiamo farlo:

df.fillna({
    'Etร ': df['Etร '].mean(),
    'Punteggio': df['Punteggio'].median()
},
inplace=True)

Conclusione

fillna() รจ uno strumento potente e flessibile per la gestione dei valori mancanti nei dataframe pandas che ci permette di migliorare la qualitร  e la completezza dei nostri dati.

Ricorda perรฒ che i valori nulli devono essere identificati e quantificati prima di essere sostituiti e/o rimossi. A tal proposito, ti invito a dare uno sguardo ad una micro-lezione precedente in cui abbiamo visto come Identificare i valori nulli con pandas.

Alla prossima micro-lezione ๐Ÿ‘‹ย