551. 데이터 분석
데이터 분석
- 파이썬 데이터 분석의 핵심 라이브러리(pandas·matplotlib·seaborn 등)의 역할을 구분한다.
- GPT 채팅창·구글 코랩·로컬 파이썬 세 환경에서 동일한 엑셀 파일로 동일한 분석(파이차트·박스플롯·히트맵·회귀)을 수행한다.
- 보안·저장·자동화 관점에서 세 환경의 장단점을 비교하고 업무에 맞는 환경을 고른다.
분석 환경 3종
학습 안내읽기. 라이브러리 표는 외우지 말고 "이런 이름이 코드에 나오면 이런 역할" 수준으로만 익혀 두십시오. 가장 중요한 것은 마지막 환경 3종 비교표입니다 — 통합 실습에서 환경을 고르는 기준이 됩니다.
엑셀(VBA)의 끝, 파이썬의 시작
Ch4에서 본 것처럼 합계·평균 같은 집계와 기본 차트는 VBA로 충분합니다. 그러나 분석이 깊어지면 한계가 옵니다 — 수십만 행 이상에서 느려지고, 박스플롯·히트맵 같은 통계 그래프와 회귀분석·검정 같은 통계 분석은 VBA로 구현하기 매우 번거롭습니다. 파이썬은 이 지점부터 시작합니다.
| 구분 | 엑셀 VBA | 파이썬 |
|---|---|---|
| 데이터 규모 | 수만 행까지 쾌적, 그 이상은 급격히 느려짐 | 수백만 행도 처리 (pandas) |
| 시각화 | 막대·선·원형 등 엑셀 기본 차트 | 박스플롯·히트맵·산점도 행렬 등 통계 그래프 수십 종 |
| 통계 분석 | 함수 조합으로 제한적 | 회귀·검정·분류·군집까지 라이브러리 한 줄 |
| 재현성 | 버튼·매크로 중심, 과정 추적 어려움 | 코드 = 분석 과정의 기록. 같은 코드 = 같은 결과 |
| 설치 부담 | 없음 (엑셀에 내장) | 환경 필요 — 단, GPT·코랩을 쓰면 설치 없이 가능 |
파이썬 핵심 라이브러리 5종
파이썬이 강력한 이유는 언어 자체보다 라이브러리 생태계입니다. 데이터 분석에서는 다음 다섯 개만 알면 코드의 대부분을 읽을 수 있습니다.
| 라이브러리 | 역할 | 코드에서 보이는 모습 |
|---|---|---|
| pandas | 표 데이터 처리 (엑셀의 시트 역할) | pd.read_excel(), df.describe(), df.groupby() |
| matplotlib | 그래프의 기본 엔진 | plt.pie(), plt.boxplot(), plt.scatter() |
| seaborn | 통계 그래프를 한 줄로 (matplotlib 기반) | sns.heatmap(), sns.boxplot() |
| scikit-learn / statsmodels | 회귀·분류 등 통계·머신러닝 | LinearRegression().fit(X, y) |
| openpyxl | 엑셀 파일 읽기/쓰기 (pandas가 내부 사용) | pd.read_excel() 실행 시 자동 동원 |
분석 환경 3종 — 어디에서 파이썬을 돌릴 것인가
이 장의 핵심 구도입니다. 같은 파일, 같은 분석을 세 환경에서 반복하며 차이를 몸으로 확인합니다.
| 환경 | 강점 | 한계 | 맞는 상황 |
|---|---|---|---|
| ① GPT 채팅창 Code Interpreter | 가장 쉬움 — 파일 첨부 + 한국어 대화. 코드를 AI가 쓰고 실행까지 해 줌. | 세션이 끝나면 코드·환경 소멸. 매번 다시 업로드. 외부 서버 업로드라는 보안 고려. | 일회성 분석, 분석 방향 탐색, 입문 |
| ② 구글 코랩 colab.research.google.com | 노트북이 Drive에 영구 저장 — 다음 달 같은 분석을 재실행. 예약 실행 등 자동화 여지. Google 인프라 기반의 보안·운영 신뢰성. | 인터넷 필수, 세션 머신은 휘발성(파일 재업로드 또는 Drive 마운트). 일부 패키지 제약. | 반복되는 정기 분석, 팀과 노트북 공유 |
| ③ 로컬 파이썬 Python + Jupyter | 데이터가 PC 밖으로 나가지 않음(확실한 보안). 패키지·라이브러리 제약 없음. 사내망 데이터도 분석 가능. | 설치·환경 관리 필요. PC 사양에 의존. | 민감 데이터, 고급 패키지, 상시 업무화 |
엑셀 HR 대시보드 (VBA)
HR · 인사학습 안내직접 실행. Ch4의 M2·M3(집계·그래프)를 한 단계 발전시킨 형태입니다. 프롬프트를 실행해 코드를 받아 두고, "집계 → 초기화 → KPI → 차트 → 새로고침"의 5단 흐름이 프롬프트 요구사항 어디에 있는지 짚어 보십시오.
비즈니스 상황 — 매월 보는 인사 현황을 버튼 하나로
인사팀 담당자가 매월 인원·퇴사율·급여 현황을 정리해 보고합니다. 대시보드는 여러 차트와 핵심 지표(KPI)를 한 화면에 모아 보여주는 시트입니다 — 원본 데이터가 바뀌어도 버튼 클릭 한 번으로 전체가 새로고침되도록 VBA로 자동화합니다.
HR 대시보드 완성
HR · 인사학습 안내산출. Ch4를 마쳤다면 같은 요령(모듈 추가 → 코드 붙여넣기 → 실행)입니다. 완료 기준: "대시보드" 시트에 KPI 4칸과 차트 2개가 생성되고, 원본 데이터의 한 행을 바꾼 뒤 매크로 재실행 시 숫자가 갱신되면 통과.
실습 순서
- 실습 데이터 HR인사데이터_샘플.xlsx를 연다. (시트명: HR데이터 — 사번·부서·직급·연봉·입사년도·재직상태 300행)
- 시연 프롬프트를 실행해 코드를 받고, 컬럼명이 실제 데이터와 다르면 프롬프트의 시트 구조 설명을 고쳐 재요청한다.
- Alt+F11 → 모듈 추가 → 코드 붙여넣기 → 실행해 대시보드 시트를 확인한다.
- 삽입 → 도형(또는 양식 컨트롤 버튼)에 매크로를 연결하고, 원본 한 행을 수정한 뒤 버튼으로 갱신되는지 확인한다.
환경 ① GPT 채팅창
공통 · 품질/R&D학습 안내직접 실행. 실습 데이터를 ChatGPT에 첨부하고 아래 프롬프트 3개를 순서대로 실행하십시오. 그래프가 나올 때마다 교재의 샘플 그래프와 비교하고, "코드 보기"를 눌러 AI가 쓴 파이썬 코드를 한 번씩 훑어보는 것까지가 학습입니다.
실습 데이터 — 바나나 품질 측정 8,000건
품질관리팀이 수집한 바나나 8,000개의 측정 데이터입니다(data analysis_banana_quality.xlsx). 수치형 변수 7개 — Size(크기) · Weight(무게) · Sweetness(당도) · Softness(연도) · HarvestTime(수확 시점) · Ripeness(숙성도) · Acidity(산도) — 와 품질 등급 Quality(Good/Bad) 1개로 구성됩니다. "어떤 조건의 바나나가 Good 판정을 받는가"가 분석 질문입니다.
프롬프트 ① 기초 탐색 — 데이터부터 파악한다
프롬프트 ② 시각화 3종 — 파이차트 · 박스플롯 · 히트맵
프롬프트 ③ 회귀분석 — 통계로 한 걸음 더
아래는 실제로 이 데이터에서 만들어지는 결과 그래프입니다. 여러분의 결과도 같은 모양이 나와야 합니다(색·폰트는 달라도 됩니다).
AI가 생성한 분석 코드 — 세 환경에서 공통으로 쓰는 코드
프롬프트 ②·③에 대해 GPT가 작성·실행하는 코드의 핵심입니다. 이 코드를 복사해 두십시오 — 다음 섹션의 코랩과 로컬에서 그대로 다시 실행합니다.
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 데이터 불러오기 (코랩·로컬에서는 파일 경로만 환경에 맞게 변경)
df = pd.read_excel("data analysis_banana_quality.xlsx")
print(df.shape) # (8000, 8)
print(df.describe()) # 기초 통계량
# ① Quality 비율 파이차트
df["Quality"].value_counts().plot.pie(autopct="%1.1f%%", startangle=90)
plt.title("바나나 품질 비율"); plt.ylabel(""); plt.show()
# ② Quality별 Sweetness 박스플롯
sns.boxplot(data=df, x="Quality", y="Sweetness")
plt.title("품질 등급별 당도 분포"); plt.show()
# ③ 상관관계 히트맵
corr = df.select_dtypes("number").corr()
sns.heatmap(corr, annot=True, fmt=".2f", cmap="RdBu_r", vmin=-1, vmax=1)
plt.title("상관관계 히트맵"); plt.show()
# ④ 단순 회귀분석 — 가장 강한 상관쌍 (HarvestTime → Size)
from sklearn.linear_model import LinearRegression
X = df[["HarvestTime"]]; y = df["Size"]
model = LinearRegression().fit(X, y)
print("회귀계수:", model.coef_[0]) # 0.623
print("절편:", model.intercept_) # -0.28
print("결정계수 R²:", model.score(X, y)) # 약 0.34
plt.scatter(df["HarvestTime"], df["Size"], s=6, alpha=0.3)
plt.plot(X, model.predict(X), color="red", linewidth=2)
plt.xlabel("HarvestTime"); plt.ylabel("Size")
plt.title("수확 시점과 크기의 회귀분석"); plt.show()
환경 ② 구글 코랩
공통 · 품질/R&D학습 안내직접 실행(무료). 구글 계정만 있으면 됩니다. 환경 ①에서 복사해 둔 공통 분석 코드를 코랩에 붙여넣고 실행해, "같은 코드가 다른 환경에서 그대로 돈다"는 것과 "노트북이 Drive에 저장된다"는 것 두 가지를 확인하십시오.
GPT 채팅창 분석과 무엇이 다른가
장점 1코드의 영구 저장
노트북(.ipynb)이 구글 Drive에 저장됩니다. 다음 달 같은 분석은 노트북을 열어 재실행 한 번 — 채팅을 처음부터 다시 할 필요가 없습니다. 코드+설명+결과가 한 문서에 남아 팀 공유·인수인계 자료가 됩니다.
장점 2재실행과 자동화 가능성
데이터 파일만 바꿔 끼우면 전체 분석이 그대로 반복됩니다. 셀 단위 실행으로 분석 과정을 통제할 수 있고, Drive 마운트·예약 실행과 결합하면 정기 리포트 자동화의 출발점이 됩니다.
장점 3Google 인프라의 신뢰성
기업 환경에서 OpenAI 업로드는 막혀 있어도 Google Workspace는 허용된 곳이 많습니다. 데이터가 회사가 이미 신뢰 관계를 맺은 Google 계정·Drive 권한 체계 안에서 관리된다는 점이 도입 설득에 유리합니다.
따라하기 — 코랩에서 같은 분석 재현
- colab.research.google.com 접속 → 새 노트북.
- 왼쪽 폴더 아이콘 → 업로드로
data analysis_banana_quality.xlsx를 올린다. - 첫 셀에 한글 폰트 설치 코드를 실행한다 (아래 코드 블록).
- 환경 ①의 공통 분석 코드를 붙여넣고 실행 — 같은 그래프 4종이 나오는지 확인한다.
- 파일 → 저장. Drive의 "Colab Notebooks" 폴더에 노트북이 저장된 것을 확인한다.
!apt-get -qq install fonts-nanum
import matplotlib.font_manager as fm
import matplotlib.pyplot as plt
fm.fontManager.addfont("/usr/share/fonts/truetype/nanum/NanumGothic.ttf")
plt.rcParams["font.family"] = "NanumGothic"
plt.rcParams["axes.unicode_minus"] = False
환경 ③ 로컬 파이썬
공통 · 보안 중시학습 안내설치 + 실행. 설치 권한이 있는 PC라면 아래 4단계로 환경을 만들고, 제공된 완성 노트북을 열어 실행해 보십시오. 설치가 어려운 환경이면 읽고 넘어가도 됩니다 — 통합 실습은 환경 ①·②만으로 가능합니다.
코랩과 무엇이 다른가
장점 1확실한 보안
데이터가 내 PC 밖으로 한 발짝도 나가지 않습니다. 고객 정보·내부 단가처럼 외부 업로드가 금지된 데이터(Ch1 금지 6종)도 분석할 수 있는 유일한 환경입니다. 사내망 DB 연결도 가능합니다.
장점 2패키지·라이브러리 무제한
코랩에 없는 전문 패키지(사내 전용 라이브러리, 특수 통계·시뮬레이션 도구, 한글 형태소 분석기 등)를 pip install로 자유롭게 설치합니다. 버전 고정으로 재현성도 완전히 통제됩니다.
설치 4단계 — 파이썬과 주피터 노트북
| 단계 | 할 일 | 방법 |
|---|---|---|
| 1 | 파이썬 설치 | python.org/downloads에서 최신 버전 설치. 설치 첫 화면에서 "Add Python to PATH" 체크가 가장 중요합니다. |
| 2 | 설치 확인 | 명령 프롬프트(cmd)에서 python --version 입력 — 버전이 출력되면 성공. |
| 3 | 라이브러리 설치 | pip install jupyter pandas matplotlib seaborn scikit-learn openpyxl 한 줄 실행. |
| 4 | 주피터 노트북 실행 | 데이터가 있는 폴더에서 jupyter notebook 입력 → 브라우저가 열리면 New → Notebook. 코랩과 똑같은 셀 인터페이스입니다. |
따라하기 — 로컬에서 같은 분석 재현
- 실습 폴더에
data analysis_banana_quality.xlsx와 완성 노트북 data_analysis_banana_quality.ipynb를 내려받는다. - 그 폴더에서
jupyter notebook을 실행하고 노트북을 연다. - 위에서부터 셀을 차례로 실행(Shift+Enter)하며 데이터 로딩 → 탐색 → 히스토그램 → 히트맵 → 회귀분석을 재현한다.
- 환경 ①의 공통 분석 코드도 새 셀에 붙여넣어 같은 그래프 4종을 확인한다. (로컬은 Windows 기본 폰트로
plt.rcParams["font.family"]="Malgun Gothic"한 줄이면 한글이 해결됩니다)
통합 실습
공통 · 품질/R&D학습 안내산출. 환경 ①은 필수, ②·③ 중 하나 이상을 골라 같은 분석을 재현합니다. 완료 기준: 그래프 4종(파이·박스·히트맵·회귀)이 두 환경에서 모두 나오고, 아래 산출물 체크 3건이 채워지면 통과.
| # | 산출물 | 완료 기준 |
|---|---|---|
| 1 | 그래프 4종 (두 환경 각각) | 파이차트·박스플롯·히트맵·회귀 산점도가 교재 샘플과 같은 형태 |
| 2 | 회귀 해석 메모 3줄 | 회귀식·R²·"말할 수 있는 것/없는 것"이 본인 문장으로 정리됨 |
| 3 | 저장된 분석 자산 | 코랩이면 Drive의 .ipynb, 로컬이면 폴더의 .ipynb — 다음 달 재실행 가능한 상태 |
실습 순서
- 환경 ①: 데이터를 첨부하고 프롬프트 ①~③을 실행한다. 결과 그래프를 교재 샘플과 비교한다.
- GPT에게 "지금까지의 분석 전체를 하나의 파이썬 스크립트로 정리해줘"라고 요청해 공통 코드를 받는다.
- 환경 ② 또는 ③: 받은 코드를 코랩(또는 로컬 주피터)에 붙여넣고 파일 경로·한글 폰트만 손봐 재실행한다.
- 산출물 체크 3건을 확인하고, 두 환경의 체감 차이(편의성·속도·저장)를 한 줄로 메모한다.
부록 · 더 해보기
학습 안내선택 · 부록. 학습이 빠른 분을 위한 추가 미션입니다. 관심 가는 것 1개만 골라 진행해도 충분합니다.
MISSION 1다중회귀와 분류 모델
단순 회귀를 넘어 ① "Size·Weight·HarvestTime으로 Sweetness를 예측하는 다중 회귀분석을 하고 각 변수의 영향력을 비교해줘" ② "수치형 변수 7개로 Quality(Good/Bad)를 예측하는 로지스틱 회귀를 만들고 정확도와 가장 중요한 변수를 알려줘"를 실행해 보십시오. 제공된 완성 노트북의 회귀분석 셀과 결과를 비교하면 좋습니다.
MISSION 2내 업무 데이터로 전환
본인 업무의 엑셀 데이터 1개를 골라 같은 4단계(탐색 → 시각화 3종 → 상관 → 회귀)를 적용해 보십시오. 시작 전에 ① 외부 업로드 가능 여부 판정 ② 불가하면 가명화·치환 후 진행 또는 로컬 환경 사용 — 보안 판정 자체가 이 미션의 절반입니다.
MISSION 3분석 결과를 보고서·자동화로 연결
완성한 그래프를 Ch3의 흐름대로 보고서·PPTX에 삽입하고, 더 나아가 "매주 갱신되는 데이터 파일을 코랩 노트북으로 분석 → 결과 차트를 메일로 발송"하는 흐름을 설계해 보십시오. Ch6(Make)·Ch7(n8n)의 자동화와 만나는 지점입니다.
과정 정리
- VBA로 가능한 분석(집계·차트·KPI)과 파이썬이 필요한 분석(통계·고급 시각화)을 구분할 수 있다
- pandas·matplotlib·seaborn·scikit-learn의 역할을 한 줄씩 설명할 수 있다
- 같은 엑셀 파일을 GPT 채팅창과 코랩(또는 로컬)에서 동일하게 분석해 보았다
- 파이차트·박스플롯·상관관계 히트맵·회귀분석 결과를 읽고 해석할 수 있다
- 보안·저장·자동화 기준으로 세 분석 환경 중 업무에 맞는 것을 고를 수 있다