본문으로 건너뛰기
데이터 분석 · AI 기초집LESSON 10

그룹화와 집계: 모드·캐릭터·날짜별 성과 비교

난이도초급
예상 시간35분
선수지식이전 강의

10강. 그룹화와 집계: 모드·캐릭터·날짜별 성과 비교

1. 이번 강의에서 해결할 문제​

전체 평균은 어느 모드나 캐릭터에서 차이가 생기는지 숨깁니다. 집단별 표본 수와 여러 지표를 함께 비교해야 합니다.

2. 학습 목표​

3. 핵심 개념​

groupby는 키로 행을 나누고 각 그룹에 집계 함수를 적용한 뒤 결과를 결합합니다. win이 0/1이면 평균은 승률이지만 결측이 없는지 먼저 확인해야 합니다. 평균과 함께 size, 중앙값을 보여야 표본 규모와 치우침을 판단할 수 있습니다.

4. 단계별 실습​

1. 예제 파일 작성​

실행 환경: 코드 편집기

실행 위치: C:\dev\game-data-lab

실행 전 확인: 기존 파일이 있으면 내용을 덮어쓰지 말고 Git diff로 이번 강의 변경 범위를 확인합니다. 실제 개인정보·API Key·토큰은 사용하지 않습니다.

대상 파일: src/group_sessions.py

src/group_sessions.py
from pathlib import Path
import pandas as pd

df = pd.read_csv("data/processed/game_sessions_clean.csv")
summary = (
df.groupby(["game_mode", "character"], dropna=False)
.agg(matches=("session_id", "size"), win_rate=("win", "mean"), median_score=("score", "median"))
.reset_index()
)
summary["win_rate"] = summary["win_rate"].round(3)
summary = summary.sort_values(["game_mode", "matches", "character"], ascending=[True, False, True])
Path("reports/tables").mkdir(parents=True, exist_ok=True)
summary.to_csv("reports/tables/mode_character_summary.csv", index=False)
print(summary.to_string(index=False))

2. 실행과 결과 확인​

실행 환경: Windows PowerShell

실행 위치: C:\dev\game-data-lab

실행 전 확인: Python 코드는 프로젝트의 .venv 인터프리터를 사용하고 입력 파일 경로가 존재하는지 확인합니다.

대상: src/group_sessions.py과 이 강의가 만드는 출력

Windows PowerShell
Set-Location C:\dev\game-data-lab
.\.venv\Scripts\python.exe .\src\group_sessions.py
Get-Content .\reports\tables\mode_character_summary.csv

예상 결과: 모드·캐릭터별 경기 수, 승률, 중앙 점수가 화면과 CSV에 기록됩니다.

5. 분석 또는 모델이 동작하는 이유​

size는 결측과 무관한 행 수를 세고 mean은 0/1 win의 비율을 계산합니다. 여러 키를 사용하면 모드 효과와 캐릭터 효과가 섞이는 정도를 줄일 수 있지만 작은 표본의 불확실성은 남습니다.

6. 자주 하는 실수와 해결법​

7. 직접 실습​

8. 이해 점검 질문 3개​

9. 핵심 요약​

MINI QUIZ

그룹화와 집계: 모드·캐릭터·날짜별 성과 비교 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“그룹화와 집계: 모드·캐릭터·날짜별 성과 비교”에서 혼동하기 쉬운 개념을 올바르게 연결한 것은 무엇인가요?
  2. 문제 2‘작은 그룹의 100% 승률을 강한 증거로 보기’ 상태에 관한 “그룹화와 집계: 모드·캐릭터·날짜별 성과 비교” 본문의 설명으로 가장 알맞은 것은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

10강. 그룹화와 집계: 모드·캐릭터·날짜별 성과 비교 미완료 상태