PROGRESS
5 / 13
단원
넘파이(NumPy) 기초 13
데이터프레임 생성과 편집 9
데이터 탐색과 필터링 12
데이터 집계와 통계 13
데이터 시각화(matplotlib) 10
파일 입출력(CSV, Excel, JSON) 10
전체 목록
QUESTION 05 #321
데이터프레임에서 중앙값과 평균과의 차이를 이해하는 문제입니다. 빈칸을 채워보세요.
main.py
import pandas as pd
data = {
'수학': [85, 92, 70, 95, 100],
'영어': [90, 85, 88, 100, 99]}
df = pd.DataFrame(data)
# 모든 열의 중간값 계산
print(df.())
# 특정 열(수학)의 중간값과 평균 확인
math_median = df["수학"].median()
math_mean = df["수학"].()
print(f"수학 중간값: {math_median}")
print(f"수학 평균값: {math_mean}")
HINT
힌트: 중간값은 median() 함수를, 산술 평균은 mean() 함수를 사용합니다.
실행 결과 예시
수학 92.0 영어 90.0 dtype: float64 수학 중간값: 92.0 수학 평균값: 88.4
INTERACTIVE SHELL
Shift + Enter 로 즉시 실행
median()과 mean()의 차이 이해하기
같은 데이터에서도 중간값과 평균은 다른 값을 가질 수 있습니다.
수학 점수 예시
수학 = [85, 92, 70, 95, 100]
평균(mean): 모든 값을 더해서 개수로 나눔
(85 + 92 + 70 + 95 + 100) / 5 = 88.4
중간값(median): 크기순 정렬 후 가운데 값
정렬: [70, 85, 92, 95, 100]
↑
중간값 = 92.0
전체 열의 중간값 한 번에 구하기
df.median()
# 수학 92.0
# 영어 90.0
axis를 지정하지 않으면 각 열의 중간값을 계산합니다.
평균 vs 중간값이 다른 이유
| 지표 | 특징 | 값 |
|---|---|---|
| 평균 (mean) | 모든 값의 영향을 받음 | 88.4 |
| 중간값 (median) | 위치만 중요, 극단값 영향 적음 | 92.0 |
수학 점수에서 70점이라는 낮은 점수가 평균을 끌어내림:
70이 없다면: (85+92+95+100) / 4 = 93.0
70이 있으면: (85+92+70+95+100) / 5 = 88.4 ← 낮아짐
중간값은: 92.0 ← 70의 영향을 거의 안 받음
언제 어떤 걸 사용할까?
| 상황 | 추천 지표 | 이유 |
|---|---|---|
| 시험 점수 (고르게 분포) | 평균 | 전체 수준 반영 |
| 연봉 데이터 | 중간값 | 고액 연봉자의 왜곡 방지 |
| 아파트 가격 | 중간값 | 극단적 고가 물건 영향 제거 |
| 제품 평점 | 평균 | 모든 평가 반영 |
💡 핵심: 극단값이 있으면 median(), 데이터가 고르면 mean()이 적합합니다.