Pandas : comment remplacer NaN par Aucun
Vous pouvez utiliser la syntaxe de base suivante pour remplacer les valeurs NaN par None dans un DataFrame pandas :
df = df.replace(np.nan, None)
Cette fonction est particulièrement utile lorsque vous devez exporter un DataFrame pandas vers une base de données qui utilise None pour représenter les valeurs manquantes au lieu de NaN .
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : remplacez NaN par None dans Pandas
Supposons que nous ayons le DataFrame pandas suivant :
import pandas as pd
import numpy as np
#create DataFrame
df = pd.DataFrame({'A': [5, 6, 8, np.nan, 4, 15, 13],
'B': [np.nan, 12, np.nan, 10, 23, 6, 4],
'C': [2, 7, 6, 3, 2, 4, np.nan],
'D': [5, np.nan, 6, 15, 1, np.nan, 4]})
#view DataFrame
print(df)
A B C D
0 5.0 NaN 2.0 5.0
1 6.0 12.0 7.0 NaN
2 8.0 NaN 6.0 6.0
3 NaN 10.0 3.0 15.0
4 4.0 23.0 2.0 1.0
5 15.0 6.0 4.0 NaN
6 13.0 4.0 NaN 4.0
Notez qu’il existe plusieurs valeurs NaN dans le DataFrame.
Pour remplacer chaque valeur NaN par None , nous pouvons utiliser la syntaxe suivante :
#replace all NaN values with None
df = df.replace(np.nan, None)
#view updated DataFrame
print(df)
A B C D
0 5.0 None 2.0 5.0
1 6.0 12.0 7.0 None
2 8.0 None 6.0 6.0
3 None 10.0 3.0 15.0
4 4.0 23.0 2.0 1.0
5 15.0 6.0 4.0 None
6 13.0 4.0 None 4.0
Notez que chaque NaN dans chaque colonne du DataFrame a été remplacé par None .
Notez que si vous souhaitez remplacer uniquement les valeurs NaN par None dans une colonne particulière, vous pouvez utiliser la syntaxe suivante :
#replace NaN values with None in column 'B' only
df['B'] = df['B'].replace(np.nan, None)
#view updated DataFrame
print(df)
A B C D
0 5.0 None 2.0 5.0
1 6.0 12.0 7.0 NaN
2 8.0 None 6.0 6.0
3 NaN 10.0 3.0 15.0
4 4.0 23.0 2.0 1.0
5 15.0 6.0 4.0 NaN
6 13.0 4.0 NaN 4.0
Notez que les valeurs NaN ont été remplacées par None dans la colonne « B » uniquement.
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