Panda: come sostituire lo zero con nan
È possibile utilizzare la seguente sintassi di base per sostituire gli zeri con valori NaN in un DataFrame panda:
df. replace (0, np. nan , inplace= True )
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: sostituisci zero con NaN in Pandas
Supponiamo di avere i seguenti panda DataFrame:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' points ': [25, 0, 15, 14, 19, 23, 25, 29],
' assists ': [5, 0, 7, 0, 12, 9, 9, 4],
' rebounds ': [11, 8, 10, 6, 6, 0, 9, 0]})
#view DataFrame
print (df)
points assists rebounds
0 25 5 11
1 0 0 8
2 15 7 10
3 14 0 6
4 19 12 6
5 23 9 0
6 25 9 9
7 29 4 0
Possiamo usare la seguente sintassi per sostituire ogni zero nel DataFrame con un valore NaN:
import numpy as np
#replace all zeros with NaN values
df. replace (0, np. nan , inplace= True )
#view updated DataFrame
print (df)
points assists rebounds
0 25.0 5.0 11.0
1 NaN NaN 8.0
2 15.0 7.0 10.0
3 14.0 NaN 6.0
4 19.0 12.0 6.0
5 23.0 9.0 NaN
6 25.0 9.0 9.0
7 29.0 4.0 NaN
Si noti che ogni zero in ciascuna colonna del DataFrame è stato sostituito da NaN.
Nota : dobbiamo utilizzare l’argomento inplace=True altrimenti le modifiche non verranno apportate al DataFrame originale.
Correlato: Come sostituire i valori NaN con zero in Panda
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:
Come sostituire valori specifici in Panda
Come filtrare un Pandas DataFrame in base ai valori delle colonne
Come riempire i valori NA per più colonne in Panda