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 값을 평균으로 채우는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다