데이터를 다루는 능력은 이제 개발자에게도 필수 역량입니다.
Python의 Pandas와 Matplotlib을 이용한 EDA(탐색적 데이터 분석)를 처음부터 배워봅니다.
EDA란 무엇인가
EDA(Exploratory Data Analysis)는 데이터를 모델링하기 전에 데이터의 특성, 분포, 이상값을 파악하는 과정입니다.
“데이터를 먼저 이해하지 않으면, 좋은 모델을 만들 수 없다”는 원칙에서 출발합니다.
Pandas 핵심 함수
import pandas as pd
df = pd.read_csv("data.csv")
df.head() # 첫 5행 확인
df.info() # 컬럼 타입, 결측값 수 확인
df.describe() # 수치형 컬럼 통계 요약
df.isnull().sum() # 결측값 개수
df["age"].value_counts() # 값 빈도 확인
시각화: Matplotlib + Seaborn
import matplotlib.pyplot as plt
import seaborn as sns
# 나이 분포 히스토그램
plt.figure(figsize=(10, 5))
df["age"].hist(bins=30, edgecolor="black")
plt.title("나이 분포")
plt.xlabel("나이")
plt.ylabel("빈도")
plt.show()
# 상관관계 히트맵
sns.heatmap(df.corr(), annot=True, cmap="coolwarm")
plt.show()
EDA 체크리스트
- 결측값: 어떤 컬럼에 얼마나 있는가, 제거할지 대체할지
- 이상값(Outlier): 박스플롯으로 극단값 확인
- 분포 확인: 정규분포인지, 치우쳐 있는지 (skewness)
- 상관관계: 독립변수들 간의 다중공선성 확인
- 범주형 변수: 카테고리 수, 불균형 여부
실전 팁
분석 결과를 Jupyter Notebook에 스토리 형식으로 서술하는 것이 좋은 습관입니다.
왜 이 그래프를 그렸고, 무엇을 발견했으며, 다음에 무엇을 볼 것인지를 코드 셀 사이에 마크다운으로 적어두면 나중에 다시 봐도 이해할 수 있습니다.
데이터 분석은 도구보다 질문하는 능력이 더 중요합니다.
작성한 정보가 조금이나마 유익하고 도움이 되셨다면, 가시기 전에 아래 광고 한번 살짝 눌러주시면 정말 큰 힘이 됩니다. 감사합니다!