Hoe het voorwaardelijke gemiddelde in panda's te berekenen (met voorbeelden)
U kunt de volgende syntaxis gebruiken om een voorwaardelijk gemiddelde in panda’s te berekenen:
df. loc [df[' team '] == ' A ', ' points ']. mean ()
Hiermee wordt het gemiddelde berekend van de kolom ‚punten‘ voor elke rij in het DataFrame waarbij de kolom ‚team‘ gelijk is aan ‚A‘.
De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken met de volgende panda’s DataFrame:
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
Voorbeeld 1: Bereken het voorwaardelijke gemiddelde voor een categorische variabele
De volgende code laat zien hoe u het gemiddelde van de kolom ‚punten‘ alleen kunt berekenen voor rijen in het DataFrame waarbij de kolom ‚team‘ de waarde ‚A‘ heeft.
#calculate mean of 'points' column for rows where team equals 'A'
df. loc [df[' team '] == ' A ', ' points ']. mean ()
94.0
De gemiddelde waarde in de kolom ‚punten‘ voor rijen waarin ‚team‘ gelijk is aan ‚A‘ is 94 .
We kunnen dit handmatig controleren door de puntwaarden alleen te middelen voor lijnen waarbij „team“ gelijk is aan „A“:
- Gemiddelde punten: (99 + 90 + 93) / 3 = 94
Voorbeeld 2: Bereken het voorwaardelijke gemiddelde voor een numerieke variabele
De volgende code laat zien hoe u het gemiddelde van de kolom ‚Assists‘ alleen kunt berekenen voor rijen in het DataFrame waarbij de kolom ‚punten‘ een waarde heeft die groter is dan of gelijk is aan 90.
#calculate mean of 'assists' column for rows where 'points' >= 90
df. loc [df[' points '] >= 90 , ' assists ']. mean ()
30.666666666666668
De gemiddelde waarde in de kolom ‚Assists‘ voor rijen waarin ‚punten‘ groter dan of gelijk aan 90 zijn, is 30,66667 .
We kunnen dit handmatig controleren door de puntwaarden alleen te middelen voor lijnen waarbij „team“ gelijk is aan „A“:
- Gemiddelde assists: (33 + 28 + 31) / 3 = 30,66667
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:
Hoe het gemiddelde van kolommen in Panda’s te berekenen
Hoe u een voortschrijdend gemiddelde in panda’s kunt berekenen
Hoe NaN-waarden te vullen met gemiddelde in panda’s