데이터 분석을 처음 시작하는 분들이 가장 고민하는 것은 "어떤 도구를 써야 할까?", **"어떻게 데이터를 분석해야 할까?"**일 것입니다.
파이썬(Python)은 데이터 분석을 배우기에 가장 적합한 프로그래밍 언어 중 하나로, 판다스(Pandas), 넘파이(Numpy), 시각화(Matplotlib, Seaborn) 등의 강력한 라이브러리를 제공합니다.
오늘은 파이썬을 활용한 기본적인 데이터 분석 예제를 통해, 데이터 분석의 흐름을 쉽게 이해할 수 있도록 설명해드리겠습니다.
---
📌 데이터 분석 흐름 – 5단계
데이터 분석은 다음과 같은 단계로 진행됩니다.
1️⃣ 데이터 불러오기 → CSV, Excel 등 다양한 파일 읽기
2️⃣ 데이터 살펴보기 → 데이터 구조 확인 및 기초 통계 분석
3️⃣ 데이터 전처리 → 결측치 처리, 이상치 제거, 필요 없는 컬럼 제거
4️⃣ 데이터 분석 및 시각화 → 그룹별 통계, 트렌드 분석, 그래프 생성
5️⃣ 인사이트 도출 → 분석 결과를 바탕으로 의사결정 지원
이제 실제 파이썬 코드를 사용해 하나씩 실습해 보겠습니다!
---
🔍 데이터 분석 예제 – "타이타닉 생존자 데이터 분석"
예제 목표:
✔ 타이타닉호 침몰 당시 어떤 승객들이 생존 확률이 높았는지 분석
✔ 승객의 성별, 나이, 객실 등급이 생존율에 어떤 영향을 미쳤는지 확인
1️⃣ 라이브러리 설치 및 데이터 불러오기
먼저, 필요한 라이브러리를 설치하고 데이터를 불러옵니다.
# 필수 라이브러리 설치 (처음 실행 시 필요)
!pip install pandas matplotlib seaborn
# 라이브러리 불러오기
import pandas as pd # 데이터 분석
import seaborn as sns # 데이터 시각화
import matplotlib.pyplot as plt # 그래프 그리기
# 타이타닉 데이터셋 로드
df = sns.load_dataset("titanic")
# 데이터 상위 5개 행 출력
df.head()
🔹 sns.load_dataset("titanic") → 타이타닉 데이터를 불러옵니다.
🔹 df.head() → 데이터의 처음 5행을 출력하여 확인합니다.
---
2️⃣ 데이터 구조 확인 및 기초 통계 분석
데이터의 기본적인 정보를 확인해보겠습니다.
# 데이터 구조 확인
print(df.info())
# 데이터의 기초 통계량 확인
print(df.describe())
🔹 df.info() → 데이터셋의 컬럼 정보, 데이터 타입, 결측치 여부 확인
🔹 df.describe() → 숫자형 변수(나이, 요금 등)의 평균, 최댓값, 최솟값 등 확인
---
3️⃣ 데이터 전처리 – 결측치 처리 및 불필요한 컬럼 제거
데이터를 분석하기 전, 결측치(Missing Values) 및 불필요한 컬럼을 정리해야 합니다.
# 결측치 확인
print(df.isnull().sum())
# 결측치 처리 - 나이(Age) 컬럼의 결측치는 중간값으로 채우기
df["age"].fillna(df["age"].median(), inplace=True)
# 객실(Cabin) 정보는 결측치가 많으므로 컬럼 삭제
df.drop(columns=["deck", "embark_town", "alive"], inplace=True)
# 결측치 처리 후 다시 확인
print(df.isnull().sum())
🔹 df.isnull().sum() → 각 컬럼별 결측치 개수 확인
🔹 df["age"].fillna(중간값) → 나이(Age)의 결측치를 중간값으로 채움
🔹 df.drop(columns=...) → 분석에 불필요한 컬럼 제거
💡 데이터 전처리는 분석 결과의 신뢰도를 높이기 위한 필수 과정입니다.
---
4️⃣ 데이터 분석 및 시각화
이제 데이터를 분석해보겠습니다. 먼저, 성별에 따른 생존율 차이를 확인해보겠습니다.
# 성별에 따른 생존율 비교
sns.barplot(x="sex", y="survived", data=df)
plt.title("성별에 따른 생존율 비교")
plt.show()
🔹 남성보다 여성이 생존율이 훨씬 높다는 사실을 확인할 수 있습니다!
---
다음으로, 객실 등급(Pclass)에 따른 생존율 차이를 분석해보겠습니다.
# 객실 등급에 따른 생존율 차이 분석
sns.barplot(x="pclass", y="survived", data=df)
plt.title("객실 등급에 따른 생존율 비교")
plt.show()
🔹 1등석 승객이 3등석보다 생존율이 높음을 확인할 수 있습니다.
💡 객실 등급이 높을수록 구조될 가능성이 컸다는 의미!
---
마지막으로, 연령대별 생존율 분포를 확인해보겠습니다.
# 나이에 따른 생존율 시각화
plt.figure(figsize=(10,5))
sns.histplot(df[df["survived"] == 1]["age"], bins=30, kde=True, color="blue", label="Survived")
sns.histplot(df[df["survived"] == 0]["age"], bins=30, kde=True, color="red", label="Not Survived")
plt.legend()
plt.title("나이대별 생존율 분포")
plt.show()
🔹 어린이(10세 이하)는 생존율이 상대적으로 높음을 확인할 수 있습니다.
💡 어린이 및 여성 우선 구조 원칙이 적용된 것으로 해석 가능!
---
5️⃣ 분석 결과 요약 및 인사이트 도출
🔹 여성이 남성보다 생존율이 훨씬 높다.
🔹 객실 등급이 높을수록(1등석) 생존율이 높다.
🔹 어린이(10세 이하)의 생존율이 상대적으로 높다.
✔ 즉, 타이타닉 사고 당시 "여성과 어린이 우선" 구조 원칙이 적용되었음을 확인할 수 있습니다!
---
🚀 결론 – 파이썬으로 데이터 분석을 시작해보세요!
✅ 파이썬을 활용하면 간단한 코드만으로도 데이터를 분석할 수 있습니다.
✅ Pandas, Seaborn을 활용하면 데이터 전처리 및 시각화가 쉬워집니다.
✅ 초보자도 실전 예제를 따라 하면 쉽게 데이터 분석을 배울 수 있습니다.
💡 오늘 배운 내용을 바탕으로, 여러분만의 데이터 분석 프로젝트를 시작해보세요!
🔎 관련 태그
#파이썬 #데이터분석 #Python #Pandas #Seaborn #타이타닉분석 #데이터시각화 #초보자데이터분석 #데이터과학
'AI' 카테고리의 다른 글
커서 AI 사용 후기 – 코드 생성은 뛰어나지만, 디버깅과 디자인은 한계 (2) | 2025.03.28 |
---|---|
📱 커서 AI로 3일 만에 플러터 앱 개발부터 배포까지 – 레벨업코딩 MVP (0) | 2025.03.25 |
Manus AI 초대코드 받는 방법 – 빠르고 간편하게 가입 (0) | 2025.03.18 |
인공지능 에이전트, Manus AI 소개 (0) | 2025.03.18 |
🔥 무료로 사용 가능한 ChatGPT 대체 서비스 추천! (1) | 2025.03.13 |