728x90
범주형에 따라 그리드로 나누어 그래프를 나누어 한 번에 그리는 방법입니다.
캐글의 타이타닉 데이터를 이용하여 보여드리겠습니다. 각 그래프에 대한 설명은 생략하도록 하겠습니다.
import pandas as pd
import seaborn as sns
train = pd.read_csv('train.csv')
train.head()
train['Survived'].value_counts()
0과 1로 이루어진 범주형 변수 'Survived'에 따라 연령대('Age')가 어떤지 히스토그램 그래프로 살펴보겠습니다.
g = sns.FacetGrid(train, col='Survived')
g.map(plt.hist, 'Age', bins=20)
또는, 남자/여자로 이루어진 범주형 변수 'Sex'에 따라 연령별 탑승요금에 대해 산점도로 봐보겠습니다.
x축에는 'Age', y축에는 'Fare' 변수를 입력했습니다.
g = sns.FacetGrid(train, col='Sex')
g.map(plt.scatter, 'Age', 'Fare')
탑승항구(Embarked)에 따라
x축에는 탑승클래스(Pclass), y축에는 생존여부(Survived)를 성별에 따라 어떤지 point plot으로 살펴보겠습니다.
point plot은 각 카테고리 별로 어떤지 보는 그래프입니다.
g = sns.FacetGrid(train, row='Embarked', size=2.2, aspect=1.6)
g.map(sns.pointplot, 'Pclass', 'Survived', 'Sex', palette='deep')
g.add_legend()
마지막으로 조건을 하나 더 추가해서 탑승항구(Embarked)와 생존여부(Survived)를 행과 열로 나누어 그리는데요,
x축은 성별(Sex), y축은 요금(Fare)으로 bar plot을 그려봅니다.
g = sns.FacetGrid(train, row='Embarked', col='Survived', size=2.2, aspect=1.6)
# size, aspect는 그래프의 크기를 조절하는 파라미터
g.map(sns.barplot, 'Sex', 'Fare', alpha=.5, ci=None)
# alpha는 그래프 색상의 불투명도 조절, ci는 신뢰구간 표시 여부
g.add_legend()
출처 :www.kaggle.com/startupsci/titanic-data-science-solutions
728x90