판다스(Pandas)
[1단계] 판다스 기초 다지기
- 판다스 설치 및 환경 세팅
- Anaconda, Jupyter Notebook, Google Colab 세팅
- Pandas의 데이터 구조
- Series / DataFrame 개념과 차이
- index, columns, values 속성
- 데이터 읽고 쓰기
- read_csv, read_excel, to_csv, to_excel 등 입출력 함수
[2단계] 데이터 선택/추출/슬라이싱
- 단일/복수 열 선택:
df['col'], df[['col1', 'col2']]
- 행 인덱싱:
loc, iloc 차이와 활용법
- 조건 필터링: Boolean Indexing
- 슬라이싱:
.loc[start:end], .iloc[start:end, start:end]
- 행/열 추가, 삭제:
drop, insert, assign
[3단계] 데이터 전처리 실전
- 결측치 처리:
isnull, fillna, dropna
- 중복값 처리:
duplicated, drop_duplicates
- 데이터 타입 변환:
astype, pd.to_datetime 등
- 문자열 다루기:
str 액세서 (split, contains, replace 등)
- 컬럼명, 인덱스명 변경:
rename, set_index, reset_index
- 정렬/정돈:
sort_values, sort_index
[4단계] 데이터 집계/요약/그룹화
- 집계 함수:
sum, mean, count, agg, describe
- 그룹화:
groupby (기본, 다중 그룹, groupby + agg)
- Pivot Table, Cross Tab:
pivot_table, pd.crosstab
- MultiIndex 다루기
[5단계] 데이터 결합/변형
- 데이터 이어붙이기:
concat
- 데이터 병합하기:
merge (SQL의 JOIN과 동일)
join, combine_first
- stack, unstack, melt, wide↔long 변환 (tidy data)
[6단계] 시계열 데이터 다루기
- 날짜/시간 데이터 처리:
pd.to_datetime, DatetimeIndex
- 리샘플링(Resample):
resample, rolling, expanding
- 시계열 슬라이싱, 시프트/이동평균
[7단계] 고급 기능과 실무 활용
- 사용자 함수(
apply, map, applymap)
- Lambda(람다)와 함께 쓰기
- 조건부 변환/새 컬럼 만들기
- 대용량 데이터 효율적으로 다루기(
chunk, memory_usage)
- 결측치/이상치 자동처리, 데이터 인코딩(라벨, 원핫)
[8단계] 시각화 및 리포팅
- 기본 plot 활용:
df.plot()
- 판다스+Matplotlib/Seaborn 연동
- 간단한 EDA 리포트 작성
[9단계] 성능 최적화/실전 팁
- pandas 옵션 설정:
pd.set_option
- 대용량 데이터 처리 시 메모리 절약법
- Categorical 데이터 타입
- MultiIndex 활용, 복잡한 데이터 재구조화
- 벡터연산(Apply 대신 Vectorized)
- 실무 사례: 여러 데이터 소스(엑셀/CSV/API 등) 통합