Pandas에서 조건부 평균을 계산하는 방법(예제 포함)
다음 구문을 사용하여 Pandas에서 조건부 평균을 계산할 수 있습니다.
df. loc [df[' team '] == ' A ', ' points ']. mean ()
이는 “팀” 열이 “A”와 동일한 DataFrame의 각 행에 대한 “포인트” 열의 평균을 계산합니다.
다음 예는 다음 pandas 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
예 1: 범주형 변수에 대한 조건부 평균 계산
다음 코드는 “team” 열의 값이 “A”인 DataFrame의 행에 대해서만 “points” 열의 평균을 계산하는 방법을 보여줍니다.
#calculate mean of 'points' column for rows where team equals 'A'
df. loc [df[' team '] == ' A ', ' points ']. mean ()
94.0
‘팀’이 ‘A’와 동일한 행에 대한 ‘포인트’ 열의 평균 값은 94 입니다.
“팀”이 “A”와 같은 라인에 대해서만 포인트 값을 평균하여 이를 수동으로 확인할 수 있습니다.
- 평균 점수: (99 + 90 + 93) / 3 = 94
예 2: 숫자 변수에 대한 조건부 평균 계산
다음 코드는 “points” 열의 값이 90보다 크거나 같은 DataFrame의 행에 대해서만 “assists” 열의 평균을 계산하는 방법을 보여줍니다.
#calculate mean of 'assists' column for rows where 'points' >= 90
df. loc [df[' points '] >= 90 , ' assists ']. mean ()
30.666666666666668
‘포인트’가 90보다 크거나 같은 행에 대한 ‘지원’ 열의 평균 값은 30.66667 입니다.
“팀”이 “A”와 같은 라인에 대해서만 포인트 값을 평균하여 이를 수동으로 확인할 수 있습니다.
- 평균 어시스트: (33 + 28 + 31) / 3 = 30.66667
추가 리소스
다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
Pandas에서 열의 평균을 계산하는 방법
Pandas에서 이동 평균을 계산하는 방법
팬더에서 NaN 값을 평균으로 채우는 방법