Maison > développement back-end > Tutoriel Python > Comment remplir les valeurs manquantes dans les pandas avec la moyenne du groupe ?

Comment remplir les valeurs manquantes dans les pandas avec la moyenne du groupe ?

Linda Hamilton
Libérer: 2024-12-11 12:58:11
original
516 Les gens l'ont consulté

How to Fill Missing Values in Pandas with the Group Mean?

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)
Copier après la connexion

Pour calculer la valeur moyenne dans chaque "nom" group, vous pouvez utiliser la fonction groupby :

grouped = df.groupby('name').mean()
Copier après la connexion

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()))
Copier après la connexion

Voici une répartition du code :

  • df.groupby("name") regroupe le DataFrame par la colonne "name".
  • 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 :

    • Il remplit les valeurs manquantes ("NaN") avec la valeur moyenne calculée à l'aide de x.mean().
  • df["value"] remplace la colonne "value" dans le DataFrame d'origine par les valeurs transformées qui remplissent les valeurs manquantes.

Après en exécutant le code, le DataFrame résultant contiendra les valeurs renseignées comme souhaité :

# Adjusted DataFrame
print(df)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal