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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *