So berechnen sie den bedingten mittelwert in pandas (mit beispielen)
Sie können die folgende Syntax verwenden, um einen bedingten Durchschnitt in Pandas zu berechnen:
df. loc [df[' team '] == ' A ', ' points ']. mean ()
Dadurch wird der Durchschnitt der Spalte „Punkte“ für jede Zeile im DataFrame berechnet, in der die Spalte „Team“ gleich „A“ ist.
Die folgenden Beispiele zeigen, wie diese Syntax in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'],
' points ': [99, 90, 93, 86, 88, 82],
' assists ': [33, 28, 31, 39, 34, 30]})
#view DataFrame
print (df)
team points assists
0 to 99 33
1 A 90 28
2 A 93 31
3 B 86 39
4 B 88 34
5 B 82 30
Beispiel 1: Berechnen Sie den bedingten Mittelwert für eine kategoriale Variable
Der folgende Code zeigt, wie der Durchschnitt der Spalte „Punkte“ nur für Zeilen im DataFrame berechnet wird, in denen die Spalte „Team“ den Wert „A“ hat.
#calculate mean of 'points' column for rows where team equals 'A'
df. loc [df[' team '] == ' A ', ' points ']. mean ()
94.0
Der Durchschnittswert in der Spalte „Punkte“ für Zeilen, in denen „Team“ gleich „A“ ist, beträgt 94 .
Wir können dies manuell überprüfen, indem wir die Punktwerte nur für Linien mitteln, bei denen „Team“ gleich „A“ ist:
- Durchschnittspunktzahl: (99 + 90 + 93) / 3 = 94
Beispiel 2: Berechnen Sie den bedingten Mittelwert für eine numerische Variable
Der folgende Code zeigt, wie der Durchschnitt der Spalte „Assists“ nur für Zeilen im DataFrame berechnet wird, in denen die Spalte „Points“ einen Wert größer oder gleich 90 aufweist.
#calculate mean of 'assists' column for rows where 'points' >= 90
df. loc [df[' points '] >= 90 , ' assists ']. mean ()
30.666666666666668
Der Durchschnittswert in der Spalte „Assists“ für Zeilen, in denen „Punkte“ größer oder gleich 90 sind, beträgt 30,66667 .
Wir können dies manuell überprüfen, indem wir die Punktwerte nur für Linien mitteln, bei denen „Team“ gleich „A“ ist:
- Durchschnittliche Assists: (33 + 28 + 31) / 3 = 30,66667
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:
So berechnen Sie den Durchschnitt der Spalten in Pandas
So berechnen Sie einen gleitenden Durchschnitt in Pandas
So füllen Sie NaN-Werte in Pandas mit dem Mittelwert