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'] })
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()))
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
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!