학생별 평균으로 열 추가하기

30 P
QUESTION 04 #318
학생별(가로 방향) 평균을 계산하여 새로운 열을 추가하려고 합니다. 빈칸에 채워보세요.
main.py
import pandas as pd

data = {
    "수학": [90, 80, 70, 85, 90],
    "영어": [85, 95, 75, 77, 98],
    "과학": [100, 90, 80, 65, 85]
}
df = pd.DataFrame(data, index=["민수", "영희", "지우", "채린", "예림"])

# 행(가로) 방향 평균을 계산하여 "학생별 평균"이라는 이름의 새로운 "열"로 추가
df["학생별 평균"] = df.mean(axis = )
print(df)
실행 결과 예시
          수학  영어   과학     학생별 평균
민수      90  85  100  91.666667
영희      80  95   90  88.333333
지우      70  75   80  75.000000
채린      85  77   65  75.666667
예림      90  98   85  91.000000
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

axis=1로 행(가로) 방향 평균 구하기

mean(axis=1)은 각 행을 가로로 횡단하며 평균을 계산합니다.

axis 방향 복습

           수학  영어  과학
           ← axis=1 →
민수  ↑    90   85   100   → 평균 = 91.67
서희  |    80   95    90   → 평균 = 88.33
지연 axis  70   75    80   → 평균 = 75.00
채린  =0   85   77    65   → 평균 = 75.67
서림  ↓    90   98    85   → 평균 = 91.00

코드 분석

df["학생별 평균"] = df.mean(axis=1)
axis 방향 계산 대상 결과
axis=0 (기본값) ↓ 위→아래 과목별 평균 열 개수만큼
axis=1 → 왼→오른 학생별 평균 행 개수만큼

동작 과정 (민수의 경우)

민수: (90 + 85 + 100) / 3 = 91.666667

행 추가 vs 열 추가 비교

작업 코드 사용하는 것
추가 (과목별 평균) df.loc["과목 평균"] = df.mean() loc + axis=0
추가 (학생별 평균) df["학생별 평균"] = df.mean(axis=1) df["열이름"] + axis=1

넘파이와 동일한 axis 체계

# 넘파이
np.mean(score, axis=1)      # 행별 평균

# 판다스
df.mean(axis=1)             # 행별 평균

넘파이와 판다스는 같은 axis 규칙을 사용합니다.

💡 핵심: axis=0은 열 방향(과목별), axis=1은 행 방향(학생별) 계산입니다.