Füllen fehlender Werte nach Mittelwert in jeder Gruppe in Pandas
In diesem Zusammenhang besteht Ihr Ziel darin, fehlende Werte ("NaN" ) mit dem Mittelwert für jede einzelne Gruppe in der Spalte „Name“. Um dies zu erreichen, können Sie die Transformationsfunktion von Pandas in Verbindung mit der Fillna-Methode verwenden.
Betrachten wir den bereitgestellten Beispiel-DataFrame:
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)
Um den Mittelwert innerhalb jedes „Namens“ zu berechnen Group können Sie die Groupby-Funktion verwenden:
grouped = df.groupby('name').mean()
Gruppiert ist jedoch ein DataFrame, der die Mittelwerte enthält, und wir müssen ihn wieder auf die Gruppe anwenden Original-DataFrame, um die fehlenden Werte auszufüllen. Hier wird die Transformation nützlich:
df["value"] = df.groupby("name").transform(lambda x: x.fillna(x.mean()))
Hier ist eine Aufschlüsselung des Codes:
lambda x: x.fillna(x.mean()) definiert eine anonyme Funktion, die jede Gruppe übernimmt (dargestellt durch x) als Eingabe und führt die folgende Operation aus:
Danach Wenn Sie den Code ausführen, enthält der resultierende DataFrame die ausgefüllten Werte wie gewünscht:
# Adjusted DataFrame print(df)
Das obige ist der detaillierte Inhalt vonWie füllt man fehlende Werte in Pandas mit dem Gruppenmittelwert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!