Exemples de comment remplacer les NANs dans une dataframe avec pandas en python:
1 -- Créer une dataframe avec pandas
Soit par exemple la dataframe suivante:
import pandas as pdimport numpy as npdata = {'Name':['Ben','Anna','Zoe','Tom','John','Steve'],'Age':[20,27,43,30,np.nan,np.nan],'Gender':['M',np.nan,'F','M','M','M']}df = pd.DataFrame(data)
qui donne
Name Age Gender0 Ben 20.0 M1 Anna 27.0 NaN2 Zoe 43.0 F3 Tom 30.0 M4 John NaN M5 Steve NaN M
2 -- Remplacer tous les NaNs
Pour remplacer tous les NaN dans la datframe il existe la fonction pandas fillna(), illustration
df.fillna('',inplace=True)print(df)
donne
Name Age Gender0 Ben 20 M1 Anna 272 Zoe 43 F3 Tom 30 M4 John M5 Steve M
3 -- Remplacer les NaNs dans une colonne donnée
Exemple de comment remplacer les NaNs dans une colonne donnée 'Gender':
df['Gender'].fillna('',inplace=True)print(df)
donne
Name Age Gender0 Ben 20.0 M1 Anna 27.02 Zoe 43.0 F3 Tom 30.0 M4 John NaN M5 Steve NaN M
4 -- Remplacer les NaNs en fonction du type de la colonne
On peut aussi utiliser la méthode dtypes pour changer les NaNs en fonction du type de colonne :
df.dtypesName objectAge float64Gender objectdtype: object
exemple
for index, value in df.dtypes.items():if value == 'object':df[index] = df[index].fillna('')else:df[index] = df[index].fillna(0)print(df)
donne
Name Age Gender0 Ben 20.0 M1 Anna 27.02 Zoe 43.0 F3 Tom 30.0 M4 John 0.0 M5 Steve 0.0 M
