Python - Seaborn

Written by heeyeong1016 on Mar 16th, 2022 Views Report Post

Seaborn이란?

  • matplotlib을 기본으로 다양한 시각화 기법을 제공하는 라이브러리
  • pandas DataFrame과 매우 호환이 잘 됨
  • 예시 : histplot, kdeplot, jointplot, Facetgrid, ...
import seaborn as sns
import seaborn as sns
sns.set_theme(style='whitegrid')
  • penguins 데이터 불러오기
penguins = sns.load_dataset("penguins")
penguins

Histplot

  • 가장 기본적으로 사용되는 히스토그램을 출력하는 plot
  • 전체 데이터를 특정 구간별 정보를 확인할 때 사용
# penguin 데이터에 histplot을 출력합니다.
sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple='stack')

h1.PNG

Displot

  • distribution들을 여러 subplot들로 나눠서 출력해주는 plot
  • displot에 kind를 변경하는 것으로, histplot, kdeplot, ecdfplot 모두 출력이 가능
# penguin 데이터에 displot을 출력합니다.
sns.displot(data=penguins, x="flipper_length_mm", hue="species", col="species")

h2.PNG

Barplot

  • 어떤 데이터에 대한 값의 크기를 막대로 보여주는 plot. (a.k.a. 막대그래프)
  • 가로 / 세로 두 가지로 모두 출력 가능

히스토그램과는 다릅니다!

sns.barplot(data=penguins, y="body_mass_g", x="species", hue='species')

h3.PNG

Countplot

  • 범주형 속성을 가지는 데이터들의 histogram을 보여주는 plot.
  • 종류별 count를 보여주는 방법입니다.
# penguin 데이터에 countplot을 출력합니다.
sns.countplot(data=penguins, x='species', hue='sex')

h4.PNG

Boxplot

  • 데이터의 각 종류별로 사분위 수(quantile)를 표시하는 plot.
  • 특정 데이터의 전체적인 분포를 확인하기 좋은 시각화 기법입니다.
  • box와 전체 range의 그림을 통해 outlier를 찾기 쉽습니다. (IQR : Inter-Quantile Range)
# penguin 데이터에 boxplot을 출력합니다.
sns.boxplot(data=penguins, y="body_mass_g", x="species", hue="sex")

h5.PNG

Violinplot

  • 데이터에 대한 분포 자체를 보여주는 plot.
  • boxplot과 비슷하지만, 전체 분포에 대한 그림을 보여준다는 점에서 boxplot과 다릅니다.
  • 보통 boxplot과 함께 표시하면, 평균 근처에 데이터가 얼마나 있는지(boxplot) 전체적으로 어떻게 퍼져있는지(violinplot) 모두 확인이 가능합니다.

penguin 데이터에 violinplot을 출력합니다.

sns.violinplot(data=penguins, y="body_mass_g", x="species", hue="sex")

![h6.PNG](https://cdn.devdojo.com/images/march2022/h6.png)

Comments (0)