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

데이터 결합: 여러 기록 파일을 하나의 분석 표로 만들기

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

11강. 데이터 결합: 여러 기록 파일을 하나의 분석 표로 만들기

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

파일을 결합할 때 키가 중복되거나 누락되면 행이 예상보다 늘거나 사라져 집계가 왜곡됩니다. SQL JOIN처럼 결합 관계를 검증해야 합니다.

2. 학습 목표

3. 핵심 개념

세션은 player_id가 여러 번 나타나고 플레이어 표는 player_id당 한 행이어야 하므로 many-to-one 관계입니다. left merge는 모든 세션을 보존하고 일치하지 않는 속성을 결측으로 표시합니다. pandas는 SQL과 달리 양쪽 결합 키의 null끼리 일치할 수 있어 키 결측을 사전 검사해야 합니다.

4. 단계별 실습

1. 예제 파일 작성

실행 환경: 코드 편집기

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

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

대상 파일: src/merge_sessions_players.py

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

players = pd.DataFrame({
"player_id": ["P001", "P002", "P003", "P004", "P005", "P006", "P007", "P008"],
"skill_tier": ["mid", "beginner", "beginner", "advanced", "mid", "advanced", "mid", "beginner"],
})
players.to_csv("data/raw/players.csv", index=False)
sessions = pd.read_csv("data/processed/game_sessions_clean.csv")
merged = sessions.merge(players, on="player_id", how="left", validate="many_to_one", indicator=True)
print(merged["_merge"].value_counts())
if len(merged) != len(sessions):
raise ValueError("결합 후 행 수가 달라졌습니다")
merged.drop(columns="_merge").to_csv("data/processed/analysis_sessions.csv", index=False)

2. 실행과 결과 확인

실행 환경: Windows PowerShell

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

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

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

Windows PowerShell
Set-Location C:\dev\game-data-lab
.\.venv\Scripts\python.exe .\src\merge_sessions_players.py
Import-Csv .\data\processed\analysis_sessions.csv | Group-Object skill_tier

예상 결과: 세션 행 수가 유지되고 일치 여부가 출력되며 skill_tier가 추가된 분석 표가 생성됩니다.

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

validate="many_to_one"은 오른쪽 키가 중복되면 오류를 내어 행 폭증을 막습니다. indicator 열은 어느 쪽에서 온 행인지 보여 주어 미일치 player_id를 확인하게 합니다.

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

7. 직접 실습

8. 이해 점검 질문 3개

9. 핵심 요약

MINI QUIZ

데이터 결합: 여러 기록 파일을 하나의 분석 표로 만들기 미니 퀴즈

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

0 / 2
  1. 문제 1“데이터 결합: 여러 기록 파일을 하나의 분석 표로 만들기”의 위험한 선택을 피하려면 어떤 원칙을 적용해야 하나요?
  2. 문제 2“데이터 결합: 여러 기록 파일을 하나의 분석 표로 만들기”에서 ‘null 키를 그대로 결합하기’ 문제가 생겼습니다. 가장 알맞은 진단 또는 대응은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

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

11강. 데이터 결합: 여러 기록 파일을 하나의 분석 표로 만들기 미완료 상태