3줄 요약
"저만 어려운 건가요?" — 아닙니다
안녕하세요, 데이터 사이언스 분야에서 10년째 일하고 있는 현업 전문가입니다.
지금까지 500명 이상의 수강생을 가르치면서 가장 많이 들은 질문이 있어요.
"강사님, 저 원래 머리가 나쁜 건가요? 강의 보고 따라 했는데 왜 안 되죠?"
데이터 분석 왜이렇게 어렵죠?
결론부터 말씀드릴게요. 여러분의 문제 아닙니다.
파이썬 데이터 분석을 포기하는 분들의 90%는 같은 지점에서 막힙니다.
바로 "데이터를 담는 그릇"을 이해하지 못해서예요. 오늘 이 글 하나로 그 벽을 확실히 넘겨드리겠습니다. 급하신 분은 “데이터프레임”부터 보셔도 좋을거같아요.
1. 왜 갑자기 어려워지는 걸까?
엑셀 vs 파이썬, 결정적 차이
우리 모두 엑셀은 어느 정도 쓸 줄 알잖아요?
┌──────────┬───────┬─────────┐
│ 이름 │ 나이 │ 취미 │
├──────────┼───────┼─────────┤
│ 철수 │ 25 │ 게임 │
├──────────┼───────┼─────────┤
│ 영희 │ 30 │ 독서 │
├──────────┼───────┼─────────┤
│ 민수 │ 28 │ 운동 │
└──────────┴───────┴─────────┘
Plain Text
복사
"영희 나이 몇이지?" → 마우스로 B3 클릭! 끝.
근데 파이썬에는요...
❌ 마우스가 없습니다
❌ B3 같은 셀 주소도 없습니다
Plain Text
복사
대신 코드로 "영희가 있는 줄의 나이 칸"을 설명해야 해요.
이걸 위해 3가지 데이터 구조(자료구조)를 배워야 합니다.
여기서 대부분 포기하시는 거예요.
2. 그릇 ①: 리스트 — 번호표 붙은 사물함
리스트란?
학교 사물함을 떠올려보세요.
0번 1번 2번
┌────┬────┬────┐
│철수 │영희 │민수 │
└────┴────┴────┘
Plain Text
복사
"1번 사물함 열어" → 영희
파이썬 코드로는 이렇게 써요:
이름들 = ["철수", "영희", "민수"]
이름들[0] # → "철수"
이름들[1] # → "영희"
이름들[2] # → "민수"
Python
복사
간단하죠? 여기까진 다들 이해하세요.
문제는 "2차원"입니다
표처럼 만들려면 리스트 안에 리스트를 넣어야 해요.
명단 = [
["철수", 25, "게임"], # 0번 줄
["영희", 30, "독서"], # 1번 줄
["민수", 28, "운동"] # 2번 줄
]
Python
복사
그림으로 보면:
0번칸 1번칸 2번칸
┌──────┬───────┬───────┐
0번 줄 → │ 철수 │ 25 │ 게임 │
├──────┼───────┼───────┤
1번 줄 → │ 영희 │ 30 │ 독서 │
├──────┼───────┼───────┤
2번 줄 → │ 민수 │ 28 │ 운동 │
└──────┴───────┴───────┘
Plain Text
복사
영희 나이 찾기
"영희 나이"를 찾아보자!
1️⃣ 영희는 몇 번 줄? → 1번 줄
2️⃣ 나이는 몇 번 칸? → 1번 칸
┌──────┬───────┬───────┐
0번 줄 │ 철수 │ 25 │ 게임 │
├──────┼───────┼───────┤
1번 줄 → │ 영희 │ ⭐ │ 독서 │ ← 여기!
├──────┼───────┼───────┤
2번 줄 │ 민수 │ 28 │ 운동 │
└──────┴───────┴───────┘
↑
1번 칸
Plain Text
복사
명단[1][1] # → 30
↑ ↑
줄 칸
Python
복사
리스트의 한계
"1번 칸이 뭐였더라...?"
0번 칸 = 이름? 나이? 취미?
1번 칸 = ???
2번 칸 = ???
Plain Text
복사
숫자만 보면 뭐가 뭔지 기억이 안 나요.
data[15][7] 이렇게 쓰면 본인도 나중에 뭔지 몰라요.
그래서 리스트로 표 데이터 다루는 건 비추입니다.
3. 그릇 ②: 딕셔너리 — 이름표 붙은 서랍장
딕셔너리란?
숫자 대신 이름표로 찾을 수 있는 서랍장이에요. 옛날에 영어공부하면서 사용했던 영어사전을 생각하셔도 좋을거같아요.
┌─────────────────────┐
│ 내 서랍장 │
├──────────┬──────────┤
│ 양말 │ 🧦🧦🧦 │
├──────────┼──────────┤
│ 속옷 │ 🩲🩲🩲 │
├──────────┼──────────┤
│ 티셔츠 │ 👕👕👕 │
└──────────┴──────────┘
이름표 내용물
Plain Text
복사
"양말 서랍 열어" → 양말 나옴
"0번 서랍 열어"가 아니라 이름으로 찾는 거죠!
철수_개인정보 = {
"이름": "철수",
"나이": 25,
"취미": "게임"
}
철수_개인정보["나이"] # → 25
Python
복사
철수의 개인정보를 확인하기에 리스트 보다도 훨씬 직관적이죠?
표를 딕셔너리로 만들면?
명단 = [
{"이름": "철수", "나이": 25, "취미": "게임"},
{"이름": "영희", "나이": 30, "취미": "독서"},
{"이름": "민수", "나이": 28, "취미": "운동"}
]
Python
복사
┌───────────────────────────────────────┐
│ 0번 → {"이름":"철수", "나이":25, ...} │
├───────────────────────────────────────┤
│ 1번 → {"이름":"영희", "나이":30, ...} │
├───────────────────────────────────────┤
│ 2번 → {"이름":"민수", "나이":28, ...} │
└───────────────────────────────────────┘
Plain Text
복사
영희 나이는?
명단[1]["나이"] # → 30
↑ ↑
1번째 "나이" 이름표
Python
복사
오! 이제 [1][1] 대신 [1]["나이"]라고 쓸 수 있어요.
딕셔너리도 한계가 있습니다
"전체 나이 목록을 한 번에 보고 싶어요"
원하는 것: [25, 30, 28]
현실:
명단[0]["나이"] # 25
명단[1]["나이"] # 30
명단[2]["나이"] # 28
→ 하나씩 다 쳐야 함 😢
Plain Text
복사
이걸 하나씩 가져오면 코드가 100줄이 넘어가요.
그래서 딕셔너리도 표 데이터용으로는 비추입니다.
4. 그릇 ③: 데이터프레임 — 파이썬 속 엑셀
드디어 정답입니다 
•
데이터프레임(DataFrame)은 파이썬 안의 엑셀이에요. 데이터프레임을 알면 파이썬과 조금 더 친해질 수 있어요. 데이터프레임은 판다스라는 파이썬 라이브러리에서 사용할 수 있는 자료구조입니다. 기본 파이썬만 배우셨던 분들은 이 데이터 프레임까지 가지 못하고, 자료구조에서 헷갈리실텐데 사실 이것만 아셔도 됩니다.
import pandas as pd
df = pd.DataFrame({
"이름": ["철수", "영희", "민수"],
"나이": [25, 30, 28],
"취미": ["게임", "독서", "운동"]
})
Python
복사
결과:
이름 나이 취미
┌──────┬──────┬──────┐
0 │ 철수 │ 25 │ 게임 │
├──────┼──────┼──────┤
1 │ 영희 │ 30 │ 독서 │
├──────┼──────┼──────┤
2 │ 민수 │ 28 │ 운동 │
└──────┴──────┴──────┘
↑ ↑
행 번호 열 이름
Plain Text
복사
이제 엑셀이랑 똑같이 생겼죠?
이게 왜 좋은지, 바로 보여드릴게요
세로줄(열) 한 번에 가져오기
"나이 열 전체 주세요!"
이름 나이 취미
┌──────┬──────┬──────┐
0 │ 철수 │ ⬇️ │ 게임 │
├──────┼──────┼──────┤
1 │ 영희 │ ⬇️ │ 독서 │
├──────┼──────┼──────┤
2 │ 민수 │ ⬇️ │ 운동 │
└──────┴──────┴──────┘
Plain Text
복사
df["나이"]
# 결과:
# 0 25
# 1 30
# 2 28
Python
복사
한 줄로 끝!
가로줄(행) 한 번에 가져오기
"1번 사람 정보 전체 주세요!"
이름 나이 취미
┌──────┬──────┬──────┐
0 │ 철수 │ 25 │ 게임 │
├──────┼──────┼──────┤
1 │ ➡️➡️➡️➡️➡️➡️➡️➡️➡️ │ ← 영희 정보 통째로!
├──────┼──────┼──────┤
2 │ 민수 │ 28 │ 운동 │
└──────┴──────┴──────┘
Plain Text
복사
df.loc[1]
# 결과:
# 이름 영희
# 나이 30
# 취미 독서
Python
복사
딱 한 칸만 가져오기
"1번 사람의 나이만요!"
이름 나이 취미
┌──────┬──────┬──────┐
0 │ 철수 │ 25 │ 게임 │
├──────┼──────┼──────┤
1 │ 영희 │ ⭐ │ 독서 │ ← 여기!
├──────┼──────┼──────┤
2 │ 민수 │ 28 │ 운동 │
└──────┴──────┴──────┘
Plain Text
복사
df.loc[1, "나이"] # → 30
Python
복사
조건 검색 (이게 진짜 꿀기능!)
"25살보다 많은 사람만 보여주세요!"
이름 나이 취미
┌──────┬──────┬──────┐
1 │ 영희 │ 30 │ 독서 │ ✅ 30 > 25
├──────┼──────┼──────┤
2 │ 민수 │ 28 │ 운동 │ ✅ 28 > 25
└──────┴──────┴──────┘
(철수는 25살이라 제외됨)
Plain Text
복사
df[df["나이"] > 25]
Python
복사
엑셀에서 필터 거는 거랑 완전 똑같아요!
평균, 합계도 한 줄
df["나이"].mean() # 평균 → 27.67
df["나이"].sum() # 합계 → 83
df["나이"].max() # 최댓값 → 30
df["나이"].min() # 최솟값 → 25
Python
복사
엑셀의 AVERAGE, SUM, MAX, MIN 함수랑 똑같습니다!
5. 실무에서 진짜 쓰는 것
10년간 현업에서 느낀 점
솔직히 말씀드릴게요. 데이터프레임 구조를 아시면 파이썬을 다루기 진짜 쉬워집니다. 그리고 나중에 ChatGPT API나 데이터 구조를 바라보기에도 좋죠.
리스트로 표 데이터 다루기 → 거의 안 씀
딕셔너리로 표 데이터 다루기 → 가끔 씀 (API 데이터 받을 때)
데이터프레임 → 99% 이거 씀
Plain Text
복사
그래서 제 조언은:
리스트, 딕셔너리는 "이런 게 있구나" 수준으로만 이해하세요. 데이터프레임(pandas)에 집중하세요.
실무자가 매일 쓰는 코드 TOP 5
import pandas as pd
# 1. 파일 불러오기
df = pd.read_csv("데이터.csv")
df = pd.read_excel("데이터.xlsx")
# 2. 데이터 훑어보기
df.head() # 앞에서 5줄 불러오기
df.tail() # 뒤에서 5줄 불러오기
df.info() # 전체 정보 요약
df.describe() # 기본 통계 요약
# 3. 특정 열 가져오기
df["열이름"]
df[["열1", "열2"]]
# 4. 조건 필터링
df[df["나이"] > 25]
df[df["이름"] == "영희"]
# 5. 통계 계산
df["나이"].mean()
df.groupby("부서")["매출"].sum()
Python
복사
이 5가지만 익숙해지면 기본 KPI집계 업무의 80%는 커버됩니다.
6. 핵심 정리 & 다음 단계
3가지 그릇 한눈에 비교
구분 | 리스트 | 딕셔너리 | 데이터프레임 |
비유 | 사물함 (번호) | 서랍장 (이름표) | 엑셀 표 |
세로줄 가져오기 | 어려움 | 보통 | df["열"] |
가로줄 가져오기 | [번호] | 보통 | df.loc[행] |
조건 검색 | 직접 코딩 | 직접 코딩 | 한 줄! |
실무 사용 빈도 | 낮음 | 중간 | 매우 높음 |
오늘의 핵심 (이것만 기억하세요!)
┌─────────────────────────────────────────────────────┐
│ │
│ 파이썬 데이터 분석이 어려운 건 │
│ 코딩 실력 때문이 아닙니다. │
│ │
│ "데이터를 담는 그릇"이 낯설었던 거예요. │
│ │
│ 표 데이터 = 데이터프레임(pandas) │
│ 이것만 잘 쓰면 됩니다! │
│ │
└─────────────────────────────────────────────────────┘
Plain Text
복사
마치며 
오늘 글이 도움이 되셨다면, "아, 이거였구나!" 하는 순간이 있으셨다면,
그건 제가 잘 설명해서가 아니라 원래 어려운 개념이 아니었기 때문이에요.
파이썬 데이터 분석, 더 이상 두려워하지 마세요.
데이터가 어디 있는지 보이기 시작하면, 이미 반은 성공한 겁니다! 
궁금한 점이 있으시다면
언제든 질문 남겨주세요! 하나하나 답변 드리겠습니다.
이 글이 유용했다면 공유 부탁드려요! 구독과 좋아요는 큰 힘이 됩니다 
AI를 활용한 데이터 분석에 대해서 더 많은 정보로 찾아뵙겠습니다. -데이리터-
#파이썬기초 #파이썬데이터분석 #판다스 #pandas #데이터프레임 #DataFrame #리스트 #딕셔너리 #파이썬입문 #데이터분석시작하기 #코딩입문 #파이썬독학 #데이터사이언스

