Pandas DataFrame DataFrame.fillna() Fonction
-
Syntaxe de
pandas.DataFrame.fillna()
: -
Exemples de codes: remplissez toutes les valeurs de
NaN
dansDataFrame
avec la méthodeDataFrame.fillna()
-
Exemples de codes: méthode
DataFrame.fillna()
avec le paramètremethod
-
Exemples de codes: méthode
DataFrame.fillna()
avec paramètrelimit
La fonction pandas.DataFrame.fillna()
permet de remplacer les valeurs de NaN
dans DataFrame
avec une certaine valeur.
Syntaxe de pandas.DataFrame.fillna()
:
DataFrame.fillna(
value=None, method=None, axis=None, inplace=False, limit=None, downcast=None
)
Paramètres
value |
scalar , dict , Series , or DataFrame . Value used to replace NaN values |
method |
backfill , bfill , pad , ffill or None . Method used for filling NaN values. |
axis |
Remplissez les valeurs manquantes le long de la ligne (axis = 1 ) ou de la colonne (axis = 1 ) |
inplace |
Booléen. Si True , modifiez l’appelant DataFrame sur place |
limit |
Entier. Si la méthode est spécifiée, c’est le nombre maximum de valeurs NaN consécutives à remplir vers l’avant / vers l’arrière. Si la methode n’est pas donnée, c’est le nombre maximum de NaN dans l’axe à remplir. |
downcast |
Dictionnaire. Spécifie le downcast des types de données |
Revenir
Si inplace
est True
, un DataFrame
remplaçant toutes les valeurs de NaN
par une value
donnée; sinon None
.
Exemples de codes: remplissez toutes les valeurs de NaN
dans DataFrame
avec la méthode DataFrame.fillna()
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
filled_df = df.fillna(5)
print("Filled DataFrame:")
print(filled_df)
Production:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
Filled DataFrame:
X Y
0 1.0 4.0
1 2.0 5.0
2 3.0 8.0
3 5.0 5.0
4 3.0 3.0
Il remplit toutes les valeurs de NaN
dans DataFrame
avec 5
fourni comme argument dans la méthode pandas.DataFrame.fillna()
.
DataFrame.fillna()
avec une moyenne
Il serait également judicieux de remplacer les valeurs NaN
d’une colonne par cette colonne.
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
df.fillna(df.mean(),inplace=True)
print("Filled DataFrame:")
print(df)
Production:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
Filled DataFrame:
X Y
0 1.00 4.0
1 2.00 5.0
2 3.00 8.0
3 2.25 5.0
4 3.00 3.0
Il remplit les valeurs NaN
de la colonne X
au moyen de la colonne X
et les valeurs NaN
de la colonne Y
au moyen de la colonne Y
.
En raison de inplace = True
, le DataFrame
d’origine est modifié après avoir appelé la fonction fillna()
.
DataFrame.fillna()
avec 0
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
df.fillna(0,inplace=True)
print("Filled DataFrame:")
print(df)
Production:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
Filled DataFrame:
X Y
0 1.0 4.0
1 2.0 0.0
2 3.0 8.0
3 0.0 0.0
4 3.0 3.0
Il remplit tous les NaN
avec 0
.
Exemples de codes: méthode DataFrame.fillna()
avec le paramètre method
Nous pouvons également remplir les valeurs de NaN
dans DataFrame
en utilisant différents choix du paramètre method
.
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
filled_df = df.fillna(method="backfill")
print("Filled DataFrame:")
print(filled_df)
Production:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
Filled DataFrame:
X Y
0 1.0 4.0
1 2.0 8.0
2 3.0 8.0
3 3.0 3.0
4 3.0 3.0
Le paramètre method="backfill"
remplit toutes les valeurs NaN
de DataFrame
avec la valeur après la valeur NaN
dans la même colonne.
Nous pouvons également utiliser les méthodes bfill
, pad
et ffill
pour remplir les valeurs de NaN
dans DataFrame
.
method |
La description |
---|---|
backfill / bfill |
remplissez toutes les valeurs NaN de DataFrame avec la valeur après la valeur NaN dans la même colonne. |
ffill / pad |
remplissez toutes les valeurs NaN de DataFrame avec la valeur avant la valeur NaN dans la même colonne. |
Exemples de codes: méthode DataFrame.fillna()
avec paramètre limit
Le paramètre limit
dans la méthode DataFrame.fillna()
limite le nombre maximum de valeurs NaN
consécutives à remplir par la méthode.
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2,np.nan, 3,3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
filled_df = df.fillna(3,limit=1)
print("Filled DataFrame:")
print(filled_df)
Production:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 NaN 8.0
3 3.0 NaN
4 3.0 3.0
Filled DataFrame:
X Y
0 1.0 4.0
1 2.0 3.0
2 3.0 8.0
3 3.0 NaN
4 3.0 3.0
Ici, une fois qu’un NaN
est rempli dans une colonne, l’autre valeur de NaN
dans la même colonne reste telle qu’elle est.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn