안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.
코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석 등의 다양한 패키지까지 초보자도 알기 쉽도록 내용을 정리해 놓았습니다.
업무는 물론 투자에도 도움이 될만한 전자공시시스템(DART)나 텔레그램(Telegram) 관련 패키지도 배울 수 있으니 많은 관심 부탁드립니다.
<seaborn 관련 글>
2021.08.08 - [파이썬 패키지/데이터시각화] - [Python/Seaborn] 데이터 시각화 라이브러리_1편. Seaborn 소개
이번 시간에는 예전에 배워봤던 matplotlib 기반으로 만들어진, 하지만 더 강력한 데이터 시각화 기능을 가지고 있는 seaborn에 대해서 배워보겠습니다.
seaborn은 데이터 셋이 존재할 때에 그 기능이 빛을 발하는 라이브러리라고 합니다.
따라서 seaborn의 사용법을 익히기 위해서는 데이터 셋이 필요한데, seaborn은 아주 친절하게도 18종의 데이터 셋을 제공해줍니다.
여기서 제공해준다는 의미는 따로 데이터 셋을 다운로드 받지 않아도 sns.load_dataset('데이터 셋 이름')을 통해서 pandas 데이터 프레임을 가져올 수 있다는 것입니다.
너무 친절한거 아닌가요?!
참고로 seaborn의 함수들에 대한 설명이나 데이터 셋의 종류가 궁금하신 분들은 위의 링크(seaborn 공식문서)을 참고해주세요.
https://seaborn.pydata.org/api.html#
오늘은 아래의 18가지 데이터들 중 3가지만 소개드려 보겠습니다.
1. 붓꽃 데이터 셋 (iris)
Iris(붓꽃) 데이터 셋은 통계학자인 Fisher가 소개한 데이터로 붓꽃의 3가지 종(setosa, versicolor, virginica)에 대한 꽃받침(sepal)과 꽃잎(petal)의 길이를 정리한 데이터입니다.
해당 데이터 셋은 머신러닝의 분류(Classification)에 적합한 데이터 셋으로, 꼭 seaborn이 아니더라도 알아두시면 도움이 되실 것 같아요.
컬럼명 | 의미 | 자료형(data type) |
sepal_length | 꽃받침의 길이 | 실수(float) |
sepal_width | 꽃받침의 너비 | 실수(float) |
petal_length | 꽃잎의 길이 | 실수(float) |
petal_width | 꽃잎의 너비 | 실수(float) |
species | 붓꽃의 종류 (setosa, versicolor, virginica) |
문자열(str) |
seaborn 라이브러리를 이용해 실제 데이터 셋을 불러와 보겠습니다.
자연스럽게 Jupyter Notebook을 켜시고, 이제는 너무 익숙해져버린 데이터 분석 4대장 라이브러리를 import 해주세요.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
그리고 아래의 코드를 실행해줍니다.
# 붓꽃 데이터 셋 불러오기
iris = sns.load_dataset("iris")
iris
총 150개의 행과 5개의 열을 갖고 있는 간단한 데이터 셋이네요.
2. 타이타닉 데이터 셋 (titanic)
다음으로 소개드릴 데이터 셋은 'Kaggle'에서 생존자를 예측하는 머신러닝 대회로 유명한 '타이타닉 데이터 셋'입니다.
<타이타닉 데이터 셋을 이용한 캐글 대회>
https://www.kaggle.com/c/titanic
데이터 셋의 의미에 대해 아래와 같이 보기좋게 표로 정리해보았습니다.
컬럼명 | 의미 | 인자 | 자료형(data type) |
survived | 생존여부 | 0 (사망) / 1 (생존) | 정수(int) |
pclass | 좌석등급 (숫자) | 1 / 2 / 3 | 정수(int) |
sex | 성별 | male/female | 문자열(str) |
age | 나이 | 0~80.0 | 실수(float) |
sibsp | 형제자매 + 배우자 인원수 | 0~8 | 정수(int) |
parch: | 부모 + 자식 인원수 | 0~6 | 정수(int) |
fare: | 요금 | 0~512.3292 | 실수(float) |
embarked | 탑승 항구 | S (Southampton) C (Cherbourg) Q (Queenstown) |
문자열(str) |
class | 좌석등급 (영문) | First, Second, Third | 문자열(str) |
who | 성별 | man / woman | 문자열(str) |
deck |
선실 고유 번호 가장 앞자리 알파벳 | A,B,C,D,E,F,G | 문자열(str) |
embark_town |
탑승 항구 (영문) | Southampton / Cherbourg / Queenstown | 문자열(str) |
alive |
생존여부 (영문) | no(사망) / yes(생존) | 문자열(str) |
alone | 혼자인지 여부 | True (가족 X) / False (가족 O) | 참거짓(bool) |
데이터 셋을 불러와 보겠습니다.
titanic = sns.load_dataset('titanic')
titanic
이번 데이터 셋은 총 891개의 행과 15개의 열로 이루어져 있네요. 붓꽃 데이터보다는 큰 데이터 셋입니다.
3. 팁 데이터 셋 (tips)
마지막으로 소개드릴 데이터 셋은 레스토랑에 방문한 손님이 팁을 얼마나 주는지, 성별, 흡연여부, 요일, 식사 시간, 식사 인원 등에 대한 정보를 가지고 있는 데이터 셋입니다.
어떤 인자가 팁 액수에 영향을 많이 주는지 분석할 때에 유용한 데이터 셋으로 보이네요. 나중에 시각화를 해보면서 알아보겠습니다.
컬럼명 | 의미 | 인자 | 자료형(data type) |
total_bill | 총 계산 요금 (달러) | 3.07~50.81 | 실수(float) |
tip | 팁 (달러) | 1.0~10.0 | 실수(float) |
sex | 성별 | Male / Female | 문자열(str) |
smoker | 흡연 여부 | Yes / No | 문자열(str) |
day | 요일 | Thur, Fri, Sat, Sun | 문자열(str) |
time | 식사 시간 | Lunch, Dinner | 문자열(str) |
size | 식사 인원 | 1~6 | 정수(int) |
총 244개의 행과 7개의 열로 이루어져 있습니다.
오늘 준비한 내용은 여기까지입니다.
다음 시간부터는 오늘 소개드린 seaborn의 3가지 데이터 셋을 이용해서 여러가지 그래프를 그려가며 데이터를 분석해보겠습니다.
오늘도 코딩유치원을 찾아주신 여러분들께 감사드립니다.
'파이썬 패키지 > 데이터시각화' 카테고리의 다른 글
[Python/Seaborn] 데이터 시각화 라이브러리_4편. Seaborn 그래프 종류 총 정리(ft. Distribution plots) (0) | 2021.08.22 |
---|---|
[Python/Seaborn] 데이터 시각화 라이브러리_3편. Seaborn 그래프 종류 총 정리(ft. Relational plots) (0) | 2021.08.19 |
[Python/Seaborn] 데이터 시각화 라이브러리_1편. Seaborn 소개 (2) | 2021.08.08 |
[Python/bar-chart-race] 움직이는 막대 차트 시각화 사용법 정리 (0) | 2021.07.27 |
[Python/bar-chart-race] 움직이는 막대 차트 시각화(ft. 12-20년 프리미어리그 클럽별 점수) (7) | 2021.07.26 |