Pandas : comment remplacer les valeurs NaN par une chaîne



Vous pouvez utiliser les méthodes suivantes pour remplacer les valeurs NaN par des chaînes dans un DataFrame pandas :

Méthode 1 : remplacer les valeurs NaN par une chaîne dans l’ensemble du DataFrame

df.fillna('', inplace=True)

Méthode 2 : remplacer les valeurs NaN par une chaîne dans des colonnes spécifiques

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

Méthode 3 : remplacer les valeurs NaN par une chaîne dans une colonne

df.col1 = df.col1.fillna('')

Les exemples suivants montrent comment utiliser chaque méthode avec le DataFrame pandas suivant :

import pandas as pd
import numpy as np

#create DataFrame with some NaN values
df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   'points': [np.nan, 11, 7, 7, 8, 6, 14, 15],
                   'assists': [5, np.nan, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, np.nan, 6, 5, 9, np.nan]})

#view DataFrame
df

team	points	assists	rebounds
0	A	NaN	5.0	11.0
1	A	11.0	NaN	8.0
2	A	7.0	7.0	10.0
3	A	7.0	9.0	NaN
4	B	8.0	12.0	6.0
5	B	6.0	9.0	5.0
6	B	14.0	9.0	9.0
7	B	15.0	4.0	NaN

Méthode 1 : remplacer les valeurs NaN par une chaîne dans l’ensemble du DataFrame

Le code suivant montre comment remplacer chaque valeur NaN d’un DataFrame entier par une chaîne vide :

#replace NaN values in all columns with empty string
df.fillna('', inplace=True)

#view updated DataFrame
df

	team	points	assists	rebounds
0	A		5.0	11.0
1	A	11.0		8.0
2	A	7.0	7.0	10.0
3	A	7.0	9.0	
4	B	8.0	12.0	6.0
5	B	6.0	9.0	5.0
6	B	14.0	9.0	9.0
7	B	15.0	4.0	

Notez que chaque valeur NaN dans chaque colonne a été remplacée par une chaîne vide.

Méthode 2 : remplacer les valeurs NaN par une chaîne dans des colonnes spécifiques

Le code suivant montre comment remplacer les valeurs NaN dans des colonnes spécifiques par une chaîne spécifique :

#replace NaN values in 'points' and 'rebounds' columns with 'none'
df[['points', 'rebounds']] = df[['points', 'rebounds']].fillna('none')

#view updated DataFrame
df

        team	points	assists	rebounds
0	A	none	5.0	11.0
1	A	11.0	NaN	8.0
2	A	7.0	7.0	10.0
3	A	7.0	9.0	none
4	B	8.0	12.0	6.0
5	B	6.0	9.0	5.0
6	B	14.0	9.0	9.0
7	B	15.0	4.0	none	

Notez que les valeurs NaN dans les colonnes « points » et « rebonds » ont été remplacées par la chaîne « aucun », mais les valeurs NaN dans la colonne « passes décisives » sont restées inchangées.

Méthode 3 : remplacer les valeurs NaN par une chaîne dans une colonne

Le code suivant montre comment remplacer les valeurs NaN dans une colonne par une chaîne spécifique :

#replace NaN values in 'points' column with 'zero'
df.points = df.points.fillna('zero')

#view updated DataFrame
df

	team	points	assists	rebounds
0	A	zero	5.0	11.0
1	A	11.0	NaN	8.0
2	A	7.0	7.0	10.0
3	A	7.0	9.0	NaN
4	B	8.0	12.0	6.0
5	B	6.0	9.0	5.0
6	B	14.0	9.0	9.0
7	B	15.0	4.0	NaN	

Notez que la valeur NaN dans la colonne « points » a été remplacée par la chaîne « zéro », mais les valeurs NaN dans les colonnes « passes décisives » et « rebonds » sont restées inchangées.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Pandas : comment remplacer les valeurs dans une colonne en fonction de la condition
Pandas : comment remplacer les valeurs NaN par zéro
Pandas : Comment compter les valeurs manquantes dans DataFrame

Ajouter un commentaire

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