본문 바로가기
프로그래밍/Python

[Python]파이썬 Seaborn을 활용한 범주형 데이터 시각화: countplot

by wyatti 2023. 7. 26.

파이썬 Seaborn으로 타이타닉 객실 등급별 빈도 그래프 그리기

데이터 시각화는 데이터를 이해하고 분석하는데 필수적인 과정입니다. 파이썬의 시각화 라이브러리인 Seaborn을 사용하면 데이터를 간단하고 멋진 그래프로 시각화할 수 있습니다. 이번 블로그에서는 Seaborn의 countplot 함수를 사용하여 타이타닉 데이터의 범주형 데이터인 객실 등급의 빈도를 시각화하는 방법에 대해 알아보겠습니다.

 

 

Step 1: Seaborn 라이브러리 설치 및 불러오기

Seaborn을 사용하기 위해서는 우선 설치가 필요합니다.

설치

pip install seaborn

그리고 불러옵니다.

import seaborn as sns
import matplotlib.pyplot as plt

 

 

 

Step 2: 데이터셋 불러오기

Seaborn 라이브러리에는 몇 가지 내장 데이터셋이 있습니다. 그 중 타이타닉 데이터셋을 활용하겠습니다.

import seaborn as sns
import matplotlib.pyplot as plt

# 타이타닉 데이터셋 불러오기
titanic_data = sns.load_dataset('titanic')

 

 

Step 3: 데이터 정렬하기

데이터를 특정 기준에 따라 정렬하여 그래프를 더욱 가독성 있게 만들 수 있습니다.

import seaborn as sns
import matplotlib.pyplot as plt

# 타이타닉 데이터셋 불러오기
titanic_data = sns.load_dataset('titanic')

# 데이터 정렬하여 그래프 그리기
order = titanic_data['class'].value_counts().index
sns.countplot(x='class', data=titanic_data, order=order)
plt.title('빈도 그래프 (데이터 정렬)')
plt.xlabel('객실 등급')
plt.ylabel('빈도')
plt.show()

 

 

 

Step 4: 그래프 꾸미기

빈도 그래프에 색상과 스타일을 추가하여 그래프를 더욱 멋지게 꾸밀 수 있습니다.

import seaborn as sns
import matplotlib.pyplot as plt

# 스타일 설정
sns.set_style('darkgrid')

# 색상 지정
colors = sns.color_palette('pastel')

# countplot 그리기
sns.countplot(x='class', data=titanic_data, palette=colors, order=order)
plt.title('빈도 그래프')
plt.xlabel('객실 등급')
plt.ylabel('빈도')
plt.show()

 

 

Step 5: 그래프에 값 표시하기

막대 그래프에 해당하는 값을 직접 표시하여 더욱 자세한 정보를 제공할 수 있습니다.

import seaborn as sns
import matplotlib.pyplot as plt

# countplot 그리기
ax = sns.countplot(x='class', data=titanic_data, palette=colors, order=order)

# 값 표시하기
for p in ax.patches:
    ax.annotate(f'{p.get_height()}', (p.get_x() + p.get_width() / 2., p.get_height()), ha='center', va='center', xytext=(0, 10), textcoords='offset points')

plt.title('빈도 그래프 (값 표시)')
plt.xlabel('객실 등급')
plt.ylabel('빈도')
plt.show()

 

 

 

이렇게 파이썬 Seaborn의 countplot 빈도 그래프를 활용하여 타이타닉 데이터의 객실 등급별 빈도를 시각화하는 방법에 대해 알아보았습니다. countplot은 데이터의 분포를 쉽게 파악할 수 있도록 도와주는 강력한 시각화 도구입니다.

댓글