반응형
seaborn 패키지
matplotlib 기반의 데이터 시각화 라이브러리입니다. 데이터 통게를 시각화 하는 라이브러리이며, matplotlib을 손쉽게 사용할 수 있도록 돕는 wrapper 라이브러리입니다. 기능적인 부분을 넘어서, 아름다운 시각화까지 가능합니다.
Histplot
히스토그램을 그리는 함수입니다.
import seaborn as sns
df= sns.load_dataset('penguins') #seaborn 에서 제공하는 dataset
df.head()
sns.histplot(df['bill_length_mm'])
sns.histplot(df['bill_length_mm'],bins=25) #bins = 바의 갯수
sns.histplot(df,x='bill_length_mm',bins=25,kde=True) # Kernel Density Estimation(KDE) --> 데이터 포인트를 가우시안화
sns.histplot(df,y='bill_length_mm',bins=25,kde=True)
Jointplot
import seaborn as sns
df= sns.load_dataset('penguins') #seaborn 에서 제공하는 dataset
df.head()
sns.jointplot(data=df,x='bill_length_mm',y='bill_depth_mm')
sns.jointplot(data=df,x='bill_length_mm',y='bill_depth_mm',alpha=0.5) # 겹치는 것은 진하게 보임
sns.jointplot(data=df,x='bill_length_mm',y='bill_depth_mm',kind='hex') # 육각형으로 나타냄
sns.jointplot(data=df,x='bill_length_mm',y='bill_depth_mm',kind='rg') # 산포도를 통해서 선형적인 분포 찾아냄
sns.jointplot(data=df,x='bill_length_mm',y='bill_depth_mm',kind='kde')
pairplot
dataframe 내의 모든 열의 관계를 그리는 함수입니다.
import seaborn as sns
df= sns.load_dataset('penguins') #seaborn 에서 제공하는 dataset
df.head()
sns.pairplot(data=df)
sns.pairplot(data=df,hue='species') # species = 범주형데이터 --> 색깔 나뉨
Barplot
범주형 데이터별로 대푯값을 그리는 함수입니다.
import numpy as np
import seaborn as sns
df = sns.load_dataset('penguins')
sns.barplot(data=df,x='sex',y='bill_length_mm') # default estimator = average
sns.barplot(data=df,x='sex', y= 'bill_length_mm',estimator=np.std)
sns.barplot(data=df,x='sex',y='bill_length_mm',hue='species')
Countplot
범주형 데이터별 개수를 나타내는 함수입니다.
import numpy as np
import seaborn as sns
df = sns.load_dataset('penguins')
sns.countplot(data=df,x='species')
sns.countplot(data=df,x='species',hue='sex')
boxplot
많이 사용되는 box plot을 그리는 함수입니다.
import numpy as np
import seaborn as sns
df = sns.load_dataset('penguins')
sns.boxplot(data=df,x='species',y='body_mass_g') # 가운데 median, 상단 : 3분위수(25%), 하단 : 1분위수(75%)
sns.boxplot(data=df,x='species',y='body_mass_g',hue='sex')
violinplot
boxplot과 유사하나, kde를 그려주는 함수입니다.
import numpy as np
import seaborn as sns
df = sns.load_dataset('penguins')
sns.violinplot(data=df,x='species',y='body_mass_g')
sns.violinplot(data=df,x='species',y='body_mass_g',hue='sex')
sns.violinplot(data=df,x='species',y='body_mass_g',hue='sex',split=True)
stripplot
모든 데이터포인트를 겹치는 포인트로 나타내는 함수입니다.
import numpy as np
import seaborn as sns
df = sns.load_dataset('penguins')
sns.stripplot(data=df,x='species',y='body_mass_g')
sns.stripplot(data=df,x='species',y='body_mass_g',alpha=0.5)
sns.stripplot(data=df,x='species',y='body_mass_g',jitter=False, alpha=0.2)
swarmplot
모든 데이터포인트를 겹치지 않는 포인트로 나타내는 함수입니다.
import numpy as np
import seaborn as sns
df = sns.load_dataset('penguins')
sns.swarmplot(data=df,x='species',y='body_mass_g')
sns.swarmplot(data=df,x='species',y='body_mass_g',alpha=0.5)
sns.swarmplot(data=df,x='species',y='body_mass_g',hue='sex',dodge=True)
heatmap
행렬을 heat map으로 나타내는 함수입니다.
import numpy as np
import seaborn as sns
df = sns.load_dataset('penguins')
corr = df.corr()
sns.heatmap(corr) # 더 큰 수치를 진한 색깔로 표한하는 함수
sns.heatmap(corr,annot=True,cmap='RdYlGn_r')
pairgrid
pairplot과 유사한, 직접 plot의 종류를 정할 수 있습니다.
import seaborn as sns
df= sns.load_dataset('penguins')
g = sns.PairGrid(df)
g.map_diag(sns.histplot)
g.map_upper(sns.scatterplot)
g.map_lower(sns.kdeplot)
Facetgrid
자료를 여러 기준으로 나누어 plot 하는 기능입니다.
import seborn as sns
df = sns.load_dataset('penguins')
g= sns.FacetGrid(data=df,col='species',row='sex')
g.map(sns.histplot,'body_mass_g',kde= True)
seaborn style(1)
스타일과 컨텍스트로 시각화 방법을 정할 수 있습니다.
- style : 그림의 전반적인 모양을 결정합니다.
- context : 그림이 사용될 문맥을 결정합니다.
import seaborn as sns
df = sns.load_dataset('penguins')
sns.set_style('darkgrid') #white, dark, whitegrid, darkgrid, ticks
sns.boxplot(data=df,x='species',y='body_mass_g',hue='sex')
seaborn style(2) - Despine
import seaborn as sns
df = sns.load_dataset('penguins')
sns.boxplot(data=df,x='species',y='body_mass_g',hue='sex')
sns.despine() # default --> right = true, top = true --> true이면 축제거
sns.boxplot(data=df,x='species',y='body_mass_g',hue='sex')
sns.despine(left=True,bottom=True)
seaborn style (3) - context
import seaborn as sns
df = sns.load_dataset('penguins')
sns.set_context('paper') #paper, notebook, talk, poster
sns.boxplot(data=df,x='species',y='body_mass_g',hue='sex')
반응형
'데이터 분석' 카테고리의 다른 글
선형 대수학 - 벡터와 행렬 (0) | 2022.08.18 |
---|---|
변수, 다항식, 함수와 함수의 미분 (0) | 2022.08.18 |
Matplotlib의 모든 것 (0) | 2022.08.15 |
DataFrame - 객체의 결합 및 sorting (0) | 2022.08.15 |
DataFrame의 연산 - map과 apply (0) | 2022.08.15 |
댓글