Fehlende Werte mit Gruppenmittelwert mithilfe der Transformation füllen
In einem DataFrame mit fehlenden Werten ist es üblich, diese mit einem aussagekräftigen Wert zu füllen. Ein Ansatz besteht darin, den Mittelwert für jede Gruppe zu berechnen.
Bedenken Sie den folgenden 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'] })
Das Ziel besteht darin, alle „NaN“-Werte mit dem Mittelwert innerhalb ihrer jeweiligen „ name"-Gruppen.
Um dies zu erreichen, können wir die Transformationsfunktion in Kombination mit der Groupby-Operation verwenden. Die Transformationsfunktion wendet eine bestimmte Transformation auf jede Gruppe an, während die Groupby-Operation den DataFrame basierend auf einer bestimmten Spalte (in diesem Fall „Name“) in Gruppen aufteilt.
Hier ist die Lösung:
grouped = df.groupby("name").mean() df["value"] = df.groupby("name").transform(lambda x: x.fillna(x.mean()))
Die Funktion fillna füllt fehlende Werte mit dem angegebenen Wert (in diesem Fall dem Mittelwert). Die Lambda-Funktion stellt sicher, dass der Mittelwert für jede Gruppe vor dem Füllen berechnet wird.
Im resultierenden DataFrame werden die fehlenden Werte mit dem Mittelwert für jede Gruppe gefüllt:
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
Das obige ist der detaillierte Inhalt vonWie fülle ich fehlende DataFrame-Werte mithilfe von „transform' mit Gruppenmitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!