쉽고 간단한 데이터 시각화 해보기

1. Seaborn

Seaborn은 matplotlib의 데이터 시각화를 위한 라이브러리 입니다. seaborn 패키지는 데이터프레임으로 다양한 통계 지표를 낼 수 있는 시각화 차트를 제공해줍니다.

그러므로 데이터 분석에 활발히 사용되고 있고, 연습으로도 유용한 라이브러리입니다.

이 글에서는 seaborn에는 matplotlib은 사용하지 않고 오직 seaborn에서만 제공하는 통계 차트 위주로 설명할 것입니다.


2. 통계 바탕으로 시각화를 제공해주는 Seaborn

seaborn 라이브러리가 좋은 이유는 통계 차트를 제공해주기 때문입니다.

지금부터 데이터를 불러오는 코드를 보여드리겠습니다.


code :

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

import seaborn as sns

==> import는 모듈을 불러오는 방법입니다. 첫번째 방법은 모듈 전제를 가져옵니다. 두번째 방법은 모듈 내에서 필요한 것만 가져오는 것입니다.

# 한글 폰트 적용

plt.rc('font', family='NanumBarunGothic') 

# 캔버스 사이즈 적용

plt.rcParams["figure.figsize"] = (12, 9)

==> 한글 폰트와 캔버스 사이즈는 시각화로 나타내기 위한 초기 설정으로 보시면 됩니다.

#타이타닉 데이터 불러오기

titanic = sns.load_dataset('titanic')

titanic

타이타닉은 데이터 이름입니다. 이제 여기서 데이터 셋에 나오는 열의 이름들에 설명합니다.


survived: 생존여부 pclass: 좌석등급 sex: 성별 age: 나이 sibsp: 형제자매 숫자

parch: 부모자식 숫자 fare: 요금 embarked: 탑승 항구 class: 좌석등급 (영문)

who: 사람 구분 deck: 데크 embark_town: 탑승 항구 (영문) alive: 생존여부 (영문) 

alone: 혼자인지 여부


다음으로 한가지 더 다른 데이터를 보도록 하겠습니다.

이 데이터는 'tips' 라는 데이터입니다.


code :

#tips 데이터 불러오기

tips = sns.load_dataset('tips')

tips

앞에서 타이타닉 데이터를 불러오는 방법에서 'titanic' 이 부분만 'tips'로 변경해주면 됩니다.

팁은 데이터 이름입니다. 이제 여기서 데이터 셋에 나오는 열의 이름들에 설명합니다.

total_bill: 총 합계 요금표 tip: 팁 sex: 성별 smoker: 흡연자 여부

day: 요일 time: 식사 시간 size: 식사 인원

지금부터는 앞에서 보여준 데이터를 가지고 시각화를 하는 방법을 알려드리겠습니다.

3. Countplot

단어 그대로 항목별 갯수를 세어주는 plot입니다. 이 plot은 알아서 해당 열을 구성하고 value들을 구분하여서 시각화를 보여줍니다.

3.1 세로 그리기

code:

sns.countplot(x="class", hue="who", data=titanic)
plt.show()


                                        First                                  Second                                Third


3.1 가로 그리기

code:

sns.countplot(y="class", hue="who", data=titanic)

plt.show()


여기서 퀴즈 
Q1.어떤 코드로 인해서 가로와 세로가 변경하게 되었는지 댓글로 부탁드립니다!! 


4. distplot

distplot은 matplotlib의 히스토그램의 hist 그래프와 kdeplot을 통합한 그래프라고 생각하면 됩니다.

즉, 분포와 밀도를 확인할 수 있는 그래프입니다.


4.1 기초 distplot

distplot 시각화를 위해 예시를 보여드리겠습니다. 먼저, 샘플 데이터를 만들어야 합니다.

code:

# 샘플데이터 생성

x = np.random.randn(100)

#기본적인 distplot 시각화

sns.distplot(x)

plt.show()



4.2 rugplot

rug는 rugplot이라고도 합니다. 데이터 위치를 x축 위에 작은 선으로 나타내어 데이터들의 위치가 어디 있는지 분포를 보여주는 시각화 방법입니다.

code:

sns.distplot(x, rug=True, hist=False)

plt.show()


4.2 kde (kernel density)

kde는 히스토그램보다 더 부드러운 형태의 분포 곡선을 보여주는 시각화 방법입니다.

code:

sns.distplot(x, rug=False, hist=False, kde=True)

plt.show()


여기서 2Q입니다.

2Q. rugplot의 코드와 kde의 코드에서 rug=True, kde=True은 어떤 의미를 가져다 주는 코드인지 적어주세요!



이제 마무리를 하겠습니다. 이 글을 보신다면 각 개인마다 느끼는 감정이 다를 것이라고 생각합니다. 전혀 파이썬을 모르신 분들은 여전히 무슨 말인지 모를 수도 있고, 파이썬을 아시는 분들은 너무 쉽다라는 생각을 할 수 도 있습니다. 하지만, 이렇게 쉬운 내용이어도 기본을 잘 알아야 코드를 작성하거나 시각화하는데 있어서 전혀 손해볼 것 같지는 않습니다. 많은 댓글을 환영합니다!! 꼭 부탁드립니다! 





댓글 1개:

PyR Intro - 신입생OT학기제