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')
Displot
- distribution들을 여러 subplot들로 나눠서 출력해주는 plot
- displot에 kind를 변경하는 것으로, histplot, kdeplot, ecdfplot 모두 출력이 가능
# penguin 데이터에 displot을 출력합니다.
sns.displot(data=penguins, x="flipper_length_mm", hue="species", col="species")
Barplot
- 어떤 데이터에 대한 값의 크기를 막대로 보여주는 plot. (a.k.a. 막대그래프)
- 가로 / 세로 두 가지로 모두 출력 가능
히스토그램과는 다릅니다!
sns.barplot(data=penguins, y="body_mass_g", x="species", hue='species')
Countplot
- 범주형 속성을 가지는 데이터들의 histogram을 보여주는 plot.
- 종류별 count를 보여주는 방법입니다.
# penguin 데이터에 countplot을 출력합니다.
sns.countplot(data=penguins, x='species', hue='sex')
Boxplot
- 데이터의 각 종류별로 사분위 수(quantile)를 표시하는 plot.
- 특정 데이터의 전체적인 분포를 확인하기 좋은 시각화 기법입니다.
- box와 전체 range의 그림을 통해 outlier를 찾기 쉽습니다. (IQR : Inter-Quantile Range)
# penguin 데이터에 boxplot을 출력합니다.
sns.boxplot(data=penguins, y="body_mass_g", x="species", hue="sex")
Violinplot
- 데이터에 대한 분포 자체를 보여주는 plot.
- boxplot과 비슷하지만, 전체 분포에 대한 그림을 보여준다는 점에서 boxplot과 다릅니다.
- 보통 boxplot과 함께 표시하면, 평균 근처에 데이터가 얼마나 있는지(boxplot) 전체적으로 어떻게 퍼져있는지(violinplot) 모두 확인이 가능합니다.
-
penguin 데이터에 violinplot을 출력합니다.
sns.violinplot(data=penguins, y="body_mass_g", x="species", hue="sex")

Comments (0)