fig, axs = plt.subplots(nrows=1, ncols=3, figsize=(12, 4))
cat_columns = ['Survived', 'Pclass', 'Sex', 'Age_cat']
# nrows는 1이고 ncols는 컬럼의 갯수만큼인 subplots을 설정.
for index, column in enumerate(cat_columns):
print(index, column)
0 Survived1 Pclass
2 Sex
3 Age_cat
subplots을 이용하여 주요 category 성 컬럼의 건수를 시각화 하기
cat_columns = ['Survived', 'Pclass', 'Sex', 'Age_cat']
# nrows는 1이고 ncols는 컬럼의 갯수만큼인 subplots을 설정.
fig, axs = plt.subplots(nrows=1, ncols=len(cat_columns), figsize=(16, 4))
for index, column in enumerate(cat_columns):
print('index:', index)
# seaborn의 Axes 레벨 function들은 ax인자로 subplots의 어느 Axes에 위치할지 설정.
sns.countplot(x=column, data=titanic_df, ax=axs[index])
if index == 3:
# plt.xticks(rotation=90)으로 간단하게 할수 있지만 Axes 객체를 직접 이용할 경우 API가 상대적으로 복잡.
axs[index].set_xticklabels(axs[index].get_xticklabels(), rotation=90)
index: 0index: 1
index: 2
index: 3
- subplots을 이용하여 주요 category 성 컬럼 별로 컬럼 값에 따른 생존율 시각화 하기
cat_columns = ['Pclass', 'Sex', 'Age_cat']
# nrows는 1이고 ncols는 컬럼의 갯수만큼인 subplots을 설정.
fig, axs = plt.subplots(nrows=1, ncols=len(cat_columns), figsize=(16, 4))
for index, column in enumerate(cat_columns):
print('index:', index)
# seaborn의 Axes 레벨 function들은 ax인자로 subplots의 어느 Axes에 위치할지 설정.
sns.barplot(x=column, y='Survived', data=titanic_df, ax=axs[index])
if index == 2:
# plt.xticks(rotation=90)으로 간단하게 할수 있지만 Axes 객체를 직접 이용할 경우 API가 상대적으로 복잡.
axs[index].set_xticklabels(axs[index].get_xticklabels(), rotation=90)
index: 0index: 1
index: 2
- subplots를 이용하여 여러 연속형 컬럼 값들의 Survived 값에 따른 연속 분포도를 시각화
- 왼쪽에는 Violin Plot으로
- 오른쪽에는 Survived가 0일때의 Histogram과 Survived가 1일때의 Histogram을 함께 표현
def show_hist_by_target(df, columns):
cond_1 = (df['Survived'] == 1)
cond_0 = (df['Survived'] == 0)
for column in columns:
fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(12, 4))
sns.violinplot(x='Survived', y=column, data=df, ax=axs[0] )
sns.histplot(df[cond_0][column], ax=axs[1], kde=True, label='Survived 0', color='blue')
sns.histplot(df[cond_1][column], ax=axs[1], kde=True, label='Survived 1', color='red')
axs[1].legend()
cont_columns = ['Age', 'Fare', 'SibSp', 'Parch']
show_hist_by_target(titanic_df, cont_columns)
'빅데이터 분석가 양성과정 > Python' 카테고리의 다른 글
Seaborn - Titanic Dataset ( scatter plot ) (0) | 2024.07.06 |
---|---|
Seaborn - Titanic Dataset ( box plot ) (0) | 2024.07.06 |
Seaborn - Tatanic Dataset(Violin plot) (0) | 2024.07.06 |
Seaborn - Titanic Dataset( barplot ) (0) | 2024.07.06 |
Seaborn - Titanic Dataset ( histogram ) (0) | 2024.07.06 |