본문 바로가기

1. Python

[Python study] 데이터 시각화 seaborn sns 패키지

728x90
반응형

2023.02.25 - [1. Python] - [Python study] 파이썬 데이터 분석 툴 아나콘다 주피터 노트북 설치 및 사용 하기

안녕하세요 벌써 수요일이네요 아니 새벽넘어가는 시간이니 벌써 목요일이네요!

오늘은 파이썬 데이터 시각화 패키지 seaborn 패키지에 관해 같이 공부해보도록해요😊

 

1. seaborn 패키지란?

 

통계적 데이터를 시각화 하는 패키지로 fancy한 형태의 그래프들을 그릴 수 있게 지원해 주는 패키지입니다.

데이터 시각화는 데이터를 전반적으로 파악해 볼 때 어디를 집중적으로 분석 해야 하는지 인사이트를 제공해 주기 때문에 중요하다고 생각합니다!

왜 seaborn인지는,,궁금하긴하네요 나중에 좋은 함수들이 있으면 bobby패키지도 만들까봐요,,

 

2. seaborn 패키지 사용 방법

 

1) 패키지 불러오기

seaborn패키지는 아나콘다 설치시 이미 설치가 되어 있고 불러오기만 하면 됩니다!

 

아나콘다 설치 방법은 아래 링크를 참고해주세요!

2023.02.25 - [1. Python] - [Python study] 파이썬 데이터 분석 툴 아나콘다 주피터 노트북 설치 및 사용 하기

 

[Python study] 파이썬 데이터 분석 툴 아나콘다 주피터 노트북 설치 및 사용 하기

안녕하세요 오늘은 불금이네요 불금인데 하지만 갓생을 살기 위해서 오늘도 파이썬 공부를 해보려구합니다😉 파이썬은 프로그래밍, 업무자동화, 데이터 분석 등에 이용되는데 그 중에서도 회

bobby1001.tistory.com

import seaborn as sns

seaborn 패키지는 통상적으로 sns라는 약어를 사용해서 표현하는데 뭔가 개그 요소가 들어가 있는듯하네요🤔

 

3. 패키지 내장 함수

 

1) 내부 데이터 셋 목록 확인하기

 

sns.get_dataset_names()

 

sns 패키지 안에는 데이터 분석 연습 또는 예시로 사용 할 수 있는 데이터 셋들이 존재합니다.

데이터 분석에 필요한 pandas / numpy 패키지와 더불어 seaborn 패키지를 불러온 뒤에 다음 코드를 출력하면 여러가지 데이터 셋들이 나오는데 오늘은 이름이 조금은 친숙한 titanic 데이터 셋을 사용하여 패키지 함수를 이용해보도록 하겠습니다!😊

 

2) 내장 데이터 불러오기

 

sns.load_dataset('titanic')

 

titanic 데이터를 불러 온 뒤 DataFrame 의 약자인 df 라는 변수에 저장하여 데이터가 어떻게 구성되어있는지 확인해보겠습니다.

데이터를 출력해보면 15개의 열과 891개의 행으로 이루어져있는데요

891명의 인원에 관한 정보가 15개씩 있는 것을 확인 하실 수 있습니다.

 

+ 이렇게 봐도 좋지만 한눈에 보기 쉽게 하기위하여 사용하는 head() , tail() 함수를 이용 할 수도 있습니다.

 

cf.  df.head()  # 앞에 5개의 행 출력 / df.tail() # 뒤에 5개의 행 출력

그럼 이제 본격적으로 seaborn 패키지에 있는 데이터 시각화 함수를 알아보도록 할까요!

 

3) 막대그래프

 

sns.countplot( x= '열이름(범주형)' , data = df )

 

범주형 데이터의 개수를 단순 비교 할 때 사용하는 그래프입니다.

 

class 라는 열의 범주형 데이터들을 비교하는 코드를 작성하여 확인해보았습니다

간단히 분석해보면 3rd 등급 좌석 인원이 가장 많고 그 다음에는 1st 등급 , 2nd 등급 순으로 인원이 확인되네요

 

4) 산점도

 

sns.scatterplot ( x = '열이름(수치형)' , y = '열이름(수치형)' , data = df )

 

산점도는 수치형 데이터들 간의 상관성을 대략적으로 알 수 있게 시각화 해주는 그래프 입니다.

titanic 데이터의 수치형데이터인 age 열과 fare 열을 입력하고 확인해 보았는데요!

연령대에 따라 운임요금에 차이가 없는 것을 볼 수 있습니다. (당연한 얘기겠지만,,)

 

5) 상자그림

 

sns.boxplot ( x = '열이름(범주형)' , y = '열이름(수치형)', data = df )

 

상자그림은 여러개의 그룹 간 (범주형) 의 데이터 분포를 확인 할 수 있도록 도와주는 그래프 입니다.

x 축을 sex , y 축을 age 데이터로 두고 상자그림을 그리면 위와 같은 그래프가 나옵니다.

그래프를 분석 해보면 데이터 분포가 유사 하다고 해석 할 수 있겠네요!

상자 그림의 구성 요소에 대한 설명은 위에 사진을 참고해주세요😊

 

6) 히스토그램

 

sns.histplot ( x = '열이름(수치형)' , data = df ) # x 대신 y로 쓰면 가로로표기

 

히스토그램은 한국어로 도수 분포표라고 하고 간단히 말해 (i) 특정 구간별로 데이터를 나누고 (ii) 구간별 데이터의 개수가 막대 그래프로 표시 되는 것을 나타낸다고 보시면 됩니다.

age 변수의 도수 분포표를 알아보기 위해 다음과 같은 코드를 작성하였습니다.

세로로 그래프를 보고 싶다면 x 에 열이름을 넣어주고 (위코드) , 가로로 보고 싶다면 y 에 열이름을 넣어 주시면 됩니다(아래코드) 😮 

4. 마치며

 

오늘은 데이터 시각화 도구 seaborn 패키지에 관한 일부 함수에 관해 공부해봤는데요

뭔가 그림으로 표현되니까 데이터의 구조 파악도 용이하고 아기자기하니 재밌는 시간이였습니다.

seaborn 패키지는 이 외에도 다양한 그래프들이 있고 구글에 "seaborn cheatsheet"라고 검색하면 모두 나오는 부분이니 코드를 절대 외우지는 마시고 그래프가 뭘 볼 때 쓰는지만 기억하면 될 것 같네요😋

글을 쓰다보니 벌써 새벽 2시네요,,얼른 자야겠어요

오늘도 두서 없이 쓴 긴 글 읽어주셔서 감사합니다!

728x90
반응형