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 pd
import numpy as np
data = {'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 Gender
0 Ben 20.0 M
1 Anna 27.0 NaN
2 Zoe 43.0 F
3 Tom 30.0 M
4 John NaN M
5 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 Gender
0 Ben 20 M
1 Anna 27
2 Zoe 43 F
3 Tom 30 M
4 John M
5 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 Gender
0 Ben 20.0 M
1 Anna 27.0
2 Zoe 43.0 F
3 Tom 30.0 M
4 John NaN M
5 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.dtypes
Name object
Age float64
Gender object
dtype: 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 Gender
0 Ben 20.0 M
1 Anna 27.0
2 Zoe 43.0 F
3 Tom 30.0 M
4 John 0.0 M
5 Steve 0.0 M