Maison > développement back-end > Tutoriel Python > Comment remplir les valeurs DataFrame manquantes avec des moyens de groupe à l'aide de « transform » ?

Comment remplir les valeurs DataFrame manquantes avec des moyens de groupe à l'aide de « transform » ?

Patricia Arquette
Libérer: 2024-12-27 07:26:13
original
130 Les gens l'ont consulté

How to Fill Missing DataFrame Values with Group Means Using `transform`?

Remplir les valeurs manquantes avec la moyenne de groupe à l'aide de Transform

Dans un DataFrame avec des valeurs manquantes, il est courant de les remplir avec une valeur significative. Une approche consiste à calculer la valeur moyenne pour chaque groupe.

Considérez le DataFrame suivant :

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

L'objectif est de remplir toutes les valeurs « NaN » avec la valeur moyenne dans leurs « » respectifs. name" groups.

Pour y parvenir, nous pouvons utiliser la fonction de transformation en combinaison avec l'opération groupby. La fonction de transformation applique une transformation spécifiée à chaque groupe, tandis que l'opération groupby divise le DataFrame en groupes en fonction d'une colonne spécifique (dans ce cas, "nom").

Voici la solution :

grouped = df.groupby("name").mean()
df["value"] = df.groupby("name").transform(lambda x: x.fillna(x.mean()))
Copier après la connexion

La fonction fillna remplit les valeurs manquantes avec la valeur spécifiée (dans ce cas, la moyenne). La fonction lambda garantit que la moyenne est calculée pour chaque groupe avant le remplissage.

Le DataFrame résultant aura les valeurs manquantes remplies avec la valeur moyenne pour chaque groupe :

  name  value
0    A      1
1    A      1
2    B      2
3    B      2
4    B      3
5    B      1
6    C      3
7    C      3
8    C      3
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