반응형
SMALL
주말에 허접하지만 초보자 캠핑을 다녀오느라 공부를 못해 이제서야 씨본(Seaborn) 라이브러리(Library) 두번째 시간이네요-_-
오늘은 지난 시간에 이어 빈도 그래프, 박스 플롯/바이올린 그래프, 조인트 그래프를 그려보고
행, 열 방향으로 서로 다른 조건을 적용하여 여러 개의 서브 플롯을 생성하거나 열을 두 개씩 짝을 지어 분석해보겠습니다
# 판다스(Pandas)
import pandas
import matplotlib.pyplot as mp
import matplotlib
# 씨본(Seaborn)
import seaborn
titanic_data = seaborn.load_dataset('titanic')
# titanic_data = titanic_data.fillna(method = 'ffill')
print(titanic_data.head(), end = '\n')
print(titanic_data.info(), end = '\n')
matplotlib.rc('font', family = 'AppleGothic') # MAC OS 일 경우 한글 폰트 오류 해결
# 스타일 테마(darkgrid, whitegrid, dark, white, ticks)
seaborn.set_style('ticks')
fig = mp.figure(figsize = (10, 10))
ax1 = fig.add_subplot(3, 2, 1)
ax2 = fig.add_subplot(3, 2, 2)
ax3 = fig.add_subplot(3, 2, 3)
ax4 = fig.add_subplot(3, 2, 4)
# 빈도 그래프 : 각 범주에 속하는 데이터의 개수
seaborn.countplot(x = 'class', # x축
palette = 'Set1', # 색 구성
hue = 'who', # who column을 기준으로 막대가 나뉨
dodge = False, # 누적 그래프
data = titanic_data, # data
ax = ax1)
# 박스 플롯/바이올린 그래프 : 범주형 데이터 분포와 주요 통계 지표를 함께 제공
seaborn.boxplot(x = 'alive', # x축
y = 'age', # y축
hue = 'sex', # sex column을 기준으로 박스가 나뉨
data = titanic_data, # data
ax = ax2)
seaborn.violinplot(x = 'alive', # x축
y = 'age', # y축
hue = 'sex', # sex column을 기준으로 바이올린 모양이 나뉨
data = titanic_data, # data
ax = ax3)
ax2.legend(loc = 'upper right')
ax3.legend(loc = 'upper left')
# 조인트 그래프 : 산점도와 x-y축에 대한 히스토그램
joint = seaborn.jointplot(x = 'fare', # x축
y = 'age', # y축
kind = 'reg', # kind : reg-회귀선, hex-육각 산점도, kde-커널 밀집 그래프
data = titanic_data) # data
# 행, 열 방향으로 서로 다른 조건을 적용하여 여러 개의 서브 플롯 생성
grid = seaborn.FacetGrid(data = titanic_data, col = 'who', row = 'survived')
grid = grid.map(mp.hist, 'age')
# 데이터프레임의 열을 두 개씩 짝을 지어 분석
titanic_extraction = titanic_data[['age', 'fare', 'pclass']]
grid = seaborn.pairplot(titanic_extraction)
mp.show()
코드는 각자 실행해보세요~ 오늘은 여기까지-_- 너무 졸리네요
반응형
LIST
'Python' 카테고리의 다른 글
[Python] 데이터 사전 처리(Preprocessing)_1 (0) | 2019.10.01 |
---|---|
[Python] 폴리엄(Folium) 라이브러리(Library) (0) | 2019.09.30 |
[Python] 씨본(Seaborn) 라이브러리(Library)_1 (0) | 2019.09.26 |
[Python] 맷플롯립(Matplotlib) 라이브러리(Library)_3 (0) | 2019.09.25 |
[Python] 맷플롯립(Matplotlib) 라이브러리(Library)_2 (0) | 2019.09.23 |