본문 바로가기

데이터 교육/파이썬

[파이썬] 막대그래프 그리기: countplot

문제 1: (loaded.dataset) titanic 데이터 셋의 성별 인원수를 시각화 하시오.

 

 

0. barplot과 countplot의 차이

- barplot: 제공된 숫자를 가지고 그대로 시각화한다.

- countplot: row데이터에서, 해당하는 숫자를 개수를 계산하여(count) 시각화한다.

 

 

 

 

1. 라이브러리 호출하기

표와 시각화 툴의 라이브러리를 출력한다

> pandas: 테이블(표)형식의 데이터를 다루는 라이브러리

> seaborn, matplotlib.pyplot : 데이터를 시각화해주 라이브러리

import matplotlib.pyplot as plt
import seaborn as sns
sns.set(rc={'figure.figsize':(10, 5)})
import pandas as pd

 

 

 

 

 

2. loaded_dataset 불러오기

타이타닉이라는 데이터셋을 df라는 변수에 입력해주고,

df.head 함수를 통해 정보를 확인한다.

df = sns.load_dataset('titanic')
df.head()

타이타닉 dataset

 

> 참고: loaed_dataset에 대한 설명

 

파이썬 데이터 샘플: loaded.dataset

loaded.dataset이란? 현업에서 실질적으로 많이 쓰이는 데이터들의 예시이다. csv파일 형태로 seaborn에서 저장되어 있고, 이를 활용해 데이터 시각화 연습을 해볼 수 있다. car_crashes 에 관한 데이터셋 *

marking.tistory.com

 

 

 

 

3. 성별 인원수 구하기

그룹을 성별로 나누어서, 개수를 구하면

코드 입력 df.groupby(by = 'sex')['sex'].count()
해석 그룹을 성별로 나누어서, 성별(male, female)의 개수 즉, 인원수 계산(count)하기

 

 

아래의 그림과 같이, 여성(female)은 314명 / 남성(male)은 577명으로 데이터가 있다는 것을 확인할 수 있다.

 

 

 

 

4. 데이터 시각화하

데이터는 df로 놓고, 기준(x)은 sex 성별로 지정한 다음 countplot을 사용하면

남성과 여성의 숫자를 자동으로 센 뒤, 그 값을 막대그래프로 시각화 할 수 있다.

코드 입력 sns.countplot(data = df, x = 'sex')

 

 

 

*가로로 그리기 (축 바꾸기)

막대그래프를 가로로 그리고 싶으면 x축 대신 y축으로 지정하면 된다.

코드 입력 sns.countplot(data = df, y 'sex')

 

 

 

 

 


문제 2:  titanic 데이터 셋의 성별 인원수를 객실 등급별로 시각화하시오

 

 

1. 데이터 정리

우선 어떤 데이터들이 있는 파악하기 위해

성별(여성, 남성)과 객실등급(1,2,3등급) 데이터만 따로 뽑아서 확인하기

코드 입력 df[['sex''class']]

 

 

 

시각화 할 데이터들의 개수 계산(count)하여

각 성별(여성,남성) 별 객실 등급(1,2,3등급)의 인원수 분포를 확인할 수 있다.

코드 입력 df.groupby(by = ['sex''class'])['sex'].count()
해석 그룹을 성별과 객실등급으로 나누고, 성별의 개수를 세기

 

 

 

2. 시각화하기

01)  countplot을 통해 막대그래프 그리기

코드 입력 sns.countplot(data = df, x = 'sex', hue = 'class')

 

1번 실습과 동일하게 막대그래프를 그리기 위해 countplot에 data와  x축의 변수를 지정하고, 

hue라는 옵션을 통해 카테고리(이 문제에서는 객실등급) 세부 분류를 해준다 

 

 

 

02) 팔레트를 통해 색상 조정하기

색상을 직접 입력할 수도 있지만, 

seaborn과 mapplotlib같은 경우 colormap이라는 색상 세트를 가지고 있어서 이를 활용할 수 있다.

 

이중에 'flare'라는 색상차트를 입혀보자

'flare 색상차트

 

> color map 색상 세트 참조 사이트

 

Choosing color palettes — seaborn 0.13.0 documentation

Choosing color palettes Seaborn makes it easy to use colors that are well-suited to the characteristics of your data and your visualization goals. This chapter discusses both the general principles that should guide your choices and the tools in seaborn th

seaborn.pydata.org

 

 

코드 입력 sns.countplot(data = df, x = 'sex', hue = 'class', palette = 'flare')
해석 동일한 코드에서 'flare'색상 차트를 더하여 입력해준다

 

 

 


출처: 패스트 캠퍼스 - 한 번에 끝내는 데이터 분석 초격차 패키지 Online: Python