Heim > Backend-Entwicklung > Python-Tutorial > Wie fülle ich fehlende DataFrame-Werte mithilfe von „transform' mit Gruppenmitteln?

Wie fülle ich fehlende DataFrame-Werte mithilfe von „transform' mit Gruppenmitteln?

Patricia Arquette
Freigeben: 2024-12-27 07:26:13
Original
130 Leute haben es durchsucht

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

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']
})
Nach dem Login kopieren

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()))
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage