Development./Data Visualization

[Data Visualization] Python 데이터 시각화 - Seaborn

Chuuu_DevCamp:) 2022. 3. 14. 23:58
반응형

API reference : https://seaborn.pydata.org/api.html

설치

pip install seaborn

파이썬에서는 아래와 같이 import 해주면 사용할 준비가 완료됩니다.

import seaborn as sns

참고로, Seaborn을 활용한 데이터 분석 실습 시 다음과 같이 기본적으로 제공하는 데이터셋을 활용 할 수 있습니다.

Seaborn에서 제공하는 데이터셋은 아래 페이지에 정리되어 있습니다. 별도 데이터셋을 가지고 있지 않아도 기본적으로 제공하는 샘플 데이터를 가지고 데이터 시각화를 실습 해볼 수 있습니다.

https://github.com/mwaskom/seaborn-data

iris = sns.load_dataset("iris")    # 붓꽃 데이터
titanic = sns.load_dataset("titanic")    # 타이타닉호 데이터
tips = sns.load_dataset("tips")    # 팁 데이터
flights = sns.load_dataset("flights")    # 여객운송 데이터
tips

Tips dataset

countplot

항목별 개수를 세어 그래프로 표시합니다.

# titanic 데이터셋에서 class별 승객 인원을 나타내는 그래프 (x축에 "class" 데이터를 표시)
sns.countplot(x="class", hue="who", data=titanic)

# 차트 가로로 그리기 : x를 y로 변경하면 세로에서 가로 차트로 변경 가능 (y축에 "class" 데이터를 표시)
sns.countplot(y="class", hue="who", data=titanic)

distplot

matplotlib의 hist 그래프와 kdeplot을 통합한 그래프이며, 분포와 밀도를 확인할 수 있습니다.

# tips 데이터셋의 total_bill 데이터 분포를 시각화
sns.distplot(x=tips['total_bill'])

# tips 데이터셋의 total_bill 데이터 분포를 가로로 시각화
sns.distplot(x=tips['total_bill'], vertical=True)

Heatmap

색상으로 표현할 수 있는 데이터를 열 분포 형태의 그래픽으로 출력합니다.

0에 가까울수록 색이 진하고, 1에 가까워질 수록 연해집니다.

import numpy as np
# 기본 heatmap
heatmap_data = np.random.rand(10, 12)
sns.heatmap(heatmap_data, annot=True) #annot=True로 해야 수치 표현도 가능

 

참고로, seaborn에서 제공하는 데이터셋 함수 corr()은 데이터의 상관 관계를 보여주는 동작을 수행 합니다.

해당 상관관계는 테이블로 이뤄져있기 때문에, 해당 데이터를 heatmap으로 보여주면 좀더 눈에 잘 들어옵니다.

# 다른 색을 사용하고 싶다면 https://matplotlib.org/stable/gallery/color/colormap_reference.html를 통해 선택 가능한 color를 확인 할 수 있다.
sns.heatmap(titanic.corr(), annot=True, cmap="YlGnBu")

pairplot

pairplot grid 형태로 각 집합의 조합에 대한 히스토그램과 분포도를 그려주는 함수입니다. 해당 함수를 사용하면 다양한 조합의 히스토그램과 분포도를 한눈에 확인할 수 있어 유용할 것 같습니다. 참고로, pairplot은 숫자형 column에 대해서만 차트를 그려줍니다.

# flights(여객정보) 데이터에 대한 pairplot 표시
sns.pairplot(flights)

# tips(팁 정보) 데이터에 대한 pairplot 표시
sns.pairplot(tips)