Panda: come utilizzare fillna() con colonne specifiche


È possibile utilizzare i seguenti metodi con fillna() per sostituire i valori NaN in colonne specifiche di un DataFrame panda:

Metodo 1: utilizzare fillna() con una colonna specifica

 df[' col1 '] = df[' col1 ']. fillna (0)

Metodo 2: utilizzare fillna() con più colonne specifiche

 df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. fillna (0)

Questo tutorial spiega come utilizzare questa funzione con i seguenti DataFrame panda:

 import numpy as np
import pandas as pd

#create DataFrame with some NaN values
df = pd. DataFrame ({'rating': [np.nan, 85, np.nan, 88, 94, 90, 76, 75, 87, 86],
                   'points': [25, np.nan, 14, 16, 27, 20, 12, 15, 14, 19],
                   'assists': [5, 7, 7, np.nan, 5, 7, 6, 9, 9, 5],
                   'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#view DataFrame
df

        rating points assists rebounds
0 NaN 25.0 5.0 11
1 85.0 NaN 7.0 8
2 NaN 14.0 7.0 10
3 88.0 16.0 NaN 6
4 94.0 27.0 5.0 6
5 90.0 20.0 7.0 9
6 76.0 12.0 6.0 6
7 75.0 15.0 9.0 10
8 87.0 14.0 9.0 10
9 86.0 19.0 5.0 7

Esempio 1: utilizzare fillna() con una colonna specifica

Il codice seguente mostra come utilizzare fillna() per sostituire i valori NaN con zeri solo nella colonna “note”:

 #replace NaNs with zeros in 'rating' column
df[' rating '] = df[' rating ']. fillna (0)

#view DataFrame
df

	rating points assists rebounds
0 0.0 25.0 5.0 11
1 85.0 NaN 7.0 8
2 0.0 14.0 7.0 10
3 88.0 16.0 NaN 6
4 94.0 27.0 5.0 6
5 90.0 20.0 7.0 9
6 76.0 12.0 6.0 6
7 75.0 15.0 9.0 10
8 87.0 14.0 9.0 10
9 86.0 19.0 5.0 7

Da notare che i valori NaN sono stati sostituiti solo nella colonna “nota” e tutte le altre colonne sono state lasciate intatte.

Esempio 2: utilizzare fillna () con più colonne specifiche

Il codice seguente mostra come utilizzare fillna() per sostituire i valori NaN con zeri nelle colonne “voto” e “punti”:

 #replace NaNs with zeros in 'rating' and 'points' columns
df[[' rating ', ' points ']] = df[[' rating ', ' points ']]. fillna (0)

#view DataFrame
df

	rating points assists rebounds
0 0.0 25.0 5.0 11
1 85.0 0.0 7.0 8
2 0.0 14.0 7.0 10
3 88.0 16.0 NaN 6
4 94.0 27.0 5.0 6
5 90.0 20.0 7.0 9
6 76.0 12.0 6.0 6
7 75.0 15.0 9.0 10
8 87.0 14.0 9.0 10
9 86.0 19.0 5.0 7

Da notare che i valori NaN sono stati sostituiti nelle colonne “voto” e “punteggi” ma le altre colonne rimangono intatte.

Nota : puoi trovare la documentazione completa della funzione pandas fillna() qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:

Come contare i valori mancanti nei panda
Come eliminare righe con valori NaN in Pandas
Come eliminare righe contenenti un valore specifico in Pandas

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *