Maison >développement back-end >Tutoriel Python >Comment remplir les valeurs manquantes dans les pandas avec la moyenne du groupe ?
Remplir les valeurs manquantes par moyenne dans chaque groupe chez Pandas
Dans ce contexte, votre objectif est de remplir les valeurs manquantes ("NaN" ) avec la valeur moyenne de chaque groupe distinct dans la colonne "nom". Pour y parvenir, vous pouvez utiliser la fonction de transformation de Pandas en conjonction avec la méthode fillna.
Considérons l'exemple de DataFrame fourni :
df = pd.DataFrame({ 'value': [1, np.nan, np.nan, 2, 3, 1, 3, np.nan, 3], 'name': ['A','A', 'B','B','B','B', 'C','C','C'] }) # Original DataFrame print(df)
Pour calculer la valeur moyenne dans chaque "nom" group, vous pouvez utiliser la fonction groupby :
grouped = df.groupby('name').mean()
Cependant, grouped est un DataFrame contenant les valeurs moyennes, et nous devons le réappliquer au DataFrame d'origine pour remplir les valeurs manquantes. C'est là que la transformation devient utile :
df["value"] = df.groupby("name").transform(lambda x: x.fillna(x.mean()))
Voici une répartition du code :
lambda x : x.fillna(x.mean()) définit une fonction anonyme qui prend chaque groupe (représenté par x) en entrée et effectue l'opération suivante :
Après en exécutant le code, le DataFrame résultant contiendra les valeurs renseignées comme souhaité :
# Adjusted DataFrame print(df)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!