데이터 분석 분야에서 시각화는 중요한 역할을 합니다. 데이터의 패턴이나 트렌드를 이해하는 데 있어 시각적 요소는 큰 도움이 되기 때문입니다. 특히, Pandas는 데이터 분석에 매우 유용한 라이브러리로, 이를 활용하여 간단하면서도 효과적인 데이터 시각화를 구현하는 경험을 공유하고자 합니다.

환경 설정

먼저, Pandas와 Matplotlib, Seaborn 라이브러리를 설치해야 합니다. Anaconda를 사용하고 있다면, 다음 명령어로 간편하게 설치할 수 있습니다.

pip install pandas matplotlib seaborn

데이터 준비

이번 예제에서는 타이타닉 데이터셋을 활용하겠습니다. 이 데이터셋은 생존자와 비생존자에 대한 다양한 정보를 포함하고 있어, 분석 및 시각화에 적합합니다. 데이터셋을 불러오고 간단한 전처리를 진행해보겠습니다.

import pandas as pd

url = 'https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv'
titanic_df = pd.read_csv(url)

# 데이터 확인
print(titanic_df.head())

데이터 시각화

이제 생존자와 비생존자의 성별 분포를 시각화해보겠습니다. 이 정보를 통해 성별에 따른 생존률의 차이를 확인할 수 있습니다.

import matplotlib.pyplot as plt
import seaborn as sns

# 데이터 전처리: 성별에 따른 생존자 수 계산
gender_survival = titanic_df.groupby('Sex')['Survived'].value_counts().unstack()

# 시각화
plt.figure(figsize=(8, 5))
gender_survival.plot(kind='bar', stacked=True)
plt.title('성별에 따른 생존자 수')
plt.xlabel('성별')
plt.ylabel('인원 수')
plt.xticks(rotation=0)
plt.legend(['비생존', '생존'])
plt.show()

위 코드를 실행하면 성별에 따른 생존자 수의 스택 막대그래프가 출력됩니다. 이 그래프를 통해 남성보다 여성이 더 많은 수의 생존자를 보였음을 쉽게 확인할 수 있습니다.

특정 변수에 따른 시각화

이번에는 운임(Fare)에 따른 생존 여부를 시각화해보겠습니다. 이 데이터는 생존 가능성과 운임의 관계를 보여줄 수 있습니다.

plt.figure(figsize=(10, 6))
sns.boxplot(x='Survived', y='Fare', data=titanic_df)
plt.title('운임(Fare)에 따른 생존 여부')
plt.xlabel('생존 여부 (0: 비생존, 1: 생존)')
plt.ylabel('운임')
plt.xticks([0, 1], ['비생존', '생존'])
plt.show()

위 예제에서는 생존자와 비생존자의 운임을 박스 플롯으로 시각화했습니다. 박스 플롯을 통해 두 그룹 간의 운임 차이를 한눈에 볼 수 있습니다. 이를 통해 높은 운임을 지불한 승객이 생존할 확률이 더 높다는 추측을 할 수 있습니다.

상관관계 시각화

마지막으로, 여러 변수 간의 상관관계를 알아보는 히트맵을 만들어보겠습니다. 이는 변수 간의 상관관계를 시각적으로 확인하는 데 큰 도움이 됩니다.

# 숫자형 데이터만 선택
corr = titanic_df.corr()

# 히트맵 생성
plt.figure(figsize=(10, 8))
sns.heatmap(corr, annot=True, fmt=".2f", cmap='coolwarm', square=True, cbar_kws={"shrink": .8})
plt.title('상관관계 히트맵')
plt.show()

이 히트맵은 변수 간의 상관관계를 시각적으로 나타냅니다. 생존(Survived)과 관련된 여러 변수의 상관관계를 확인할 수 있으며, 이를 통해 데이터 분석의 방향성을 잡는 데 유용합니다.

마무리

Pandas와 시각화 라이브러리인 Matplotlib, Seaborn을 사용하여 데이터를 효과적으로 시각화하는 방법에 대해 알아보았습니다. 데이터 시각화는 단순히 아름답게 보이기 위한 것이 아니라, 데이터의 패턴과 인사이트를 쉽게 이해하고 전달하기 위한 중요한 도구입니다. 분석하는 데이터와 목표에 맞는 시각화 기법을 선택하여, 보다 깊이 있는 데이터 분석을 진행해보시기 바랍니다. 데이터로 보는 세상에서 여러분의 통찰을 넓힐 수 있기를 바랍니다!