AI

파이썬으로 시작하는 데이터 분석

레벨업코딩 2025. 3. 18. 20:23
728x90
반응형

데이터 분석을 처음 시작하는 분들이 가장 고민하는 것은 "어떤 도구를 써야 할까?", **"어떻게 데이터를 분석해야 할까?"**일 것입니다.

파이썬(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 #타이타닉분석 #데이터시각화 #초보자데이터분석 #데이터과학

728x90
반응형
LIST