Pandas : comment remplacer zéro par NaN
Vous pouvez utiliser la syntaxe de base suivante pour remplacer les zéros par des valeurs NaN dans un DataFrame pandas :
df.replace(0, np.nan, inplace=True)
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : remplacez zéro par NaN dans Pandas
Supposons que nous ayons le DataFrame pandas suivant :
import pandas as pd
#create DataFrame
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
Nous pouvons utiliser la syntaxe suivante pour remplacer chaque zéro du DataFrame par une valeur 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
Notez que chaque zéro dans chaque colonne du DataFrame a été remplacé par NaN.
Remarque : Nous devons utiliser l’argument inplace=True sinon les modifications ne seront pas apportées au DataFrame d’origine.
Connexe :Comment remplacer les valeurs NaN par zéro dans Pandas
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Comment remplacer des valeurs spécifiques dans Pandas
Comment filtrer un DataFrame Pandas par valeurs de colonne
Comment remplir les valeurs NA pour plusieurs colonnes dans Pandas