Seaborn 막대 그래프와 density plot

학습 목표

  1. seaborn을 사용하기 위한 파이썬의 기본 문법을 이해한다.
  2. 예제 데이터를 불러와 각종 차트를 그려본다.
  3. 배경을 지정하는 방법을 이해한다.
  4. countplot()으로 분포를 파악한다.
  5. distplot()으로 분포를 파악한다.

예제는 구글의 colab에서 실행해볼 수 있습니다. Google에서 colab을 검색하세요.

아래 문제를 풀어서 댓글로 남겨주세요.

문제를 풀기 위해 구글링하세요.

Q1 import와 as는 무엇을 할까요?

In [ ]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

Q2 pandas, numpy, matplotlib.pyplot과 seaborn은 무엇을 하는 것들일까요?

In [2]:
titanic = sns.load_dataset('titanic')
titanic
Out[2]:
survivedpclasssexagesibspparchfareembarkedclasswhoadult_maledeckembark_townalivealone
003male22.0107.2500SThirdmanTrueNaNSouthamptonnoFalse
111female38.01071.2833CFirstwomanFalseCCherbourgyesFalse
213female26.0007.9250SThirdwomanFalseNaNSouthamptonyesTrue
311female35.01053.1000SFirstwomanFalseCSouthamptonyesFalse
403male35.0008.0500SThirdmanTrueNaNSouthamptonnoTrue
................................................
88602male27.00013.0000SSecondmanTrueNaNSouthamptonnoTrue
88711female19.00030.0000SFirstwomanFalseBSouthamptonyesTrue
88803femaleNaN1223.4500SThirdwomanFalseNaNSouthamptonnoFalse
88911male26.00030.0000CFirstmanTrueCCherbourgyesTrue
89003male32.0007.7500QThirdmanTrueNaNQueenstownnoTrue

891 rows × 15 columns

Q3 sns 뒤에 붙은 마침표는 무엇을 뜻할까요? (힌트 method)

Q4 load_dataset()은 무슨 역할을 할까요?

Q5 seaborn은 어떤 데이터를 학습용으로 제공하나요?

891 rows × 15 columns

  1. survived: 생존여부
  2. pclass: 좌석등급
  3. sex: 성별
  4. age: 나이
  5. sibsp: 형제자매 숫자
  6. parch: 부모자식 숫자
  7. fare: 요금
  8. embarked: 탑승 항구
  9. class: 좌석등급 (영문)
  10. who: 사람 구분
  11. deck: 데크
  12. embark_town: 탑승 항구 (영문)
  13. alive: 생존여부 (영문)
  14. alone: 혼자인지 여부
In [3]:
tips = sns.load_dataset('tips')
tips
Out[3]:
total_billtipsexsmokerdaytimesize
016.991.01FemaleNoSunDinner2
110.341.66MaleNoSunDinner3
221.013.50MaleNoSunDinner3
323.683.31MaleNoSunDinner2
424.593.61FemaleNoSunDinner4
........................
23929.035.92MaleNoSatDinner3
24027.182.00FemaleYesSatDinner2
24122.672.00MaleYesSatDinner2
24217.821.75MaleNoSatDinner2
24318.783.00FemaleNoThurDinner2

244 rows × 7 columns

  1. total_bill: 총 합계 요금표
  2. tip: 팁
  3. sex: 성별
  4. smoker: 흡연자 여부
  5. day: 요일
  6. time: 식사 시간
  7. size: 식사 인원

Countplot

In [5]:
# 배경을 darkgrid 로 설정
sns.set(style='darkgrid')

Q6 set()과 style=은 무엇을 하나요?

In [6]:
sns.countplot(x="class", hue="who", data=titanic)
plt.show()

Q7 countplot()은 무슨 일을 할까요? x=, hue=는 어떤 결과를 가져오나요?

가로

In [7]:
sns.countplot(y="class", hue="who", data=titanic)
plt.show()

팔렛

In [8]:
sns.countplot(x="class", hue="who", palette='Paired', data=titanic)
plt.show()

Q8 palette=은 무슨 결과를 가져오나요?

distplot

In [9]:
# 샘플데이터 생성
x = np.random.randn(100)

Q9 numpy에서 random은 무슨 일을 하나요

Q10 randn()은 무슨 함수인가요?

In [10]:
sns.distplot(x)
plt.show()

Q11 distplot()은 무엇을 하는 함수인가요?

In [11]:
x = pd.Series(x, name="x variable")
sns.distplot(x)
plt.show()

Q12 옵션 name=은 무슨 일을 하나요?

Rug plot

In [12]:
sns.distplot(x, rug=True, hist=False)
plt.show()

Q13 rug=는 무슨 일을 하나요? 왜 hist=False로 했나요?

Kernel density

In [13]:
sns.distplot(x, rug=False, hist=False, kde=True)
plt.show()

Q14 kde=True는 무엇을 하나요? Kernel이란 무엇인가요?(힌트: 부드러움)

가로

In [14]:
sns.distplot(x, vertical=True)
Out[14]:
<matplotlib.axes._subplots.AxesSubplot at 0x2c91d7b4ac8>

Q15 vertical=True는 무슨 일을 하나요?

색상 바꾸기

In [15]:
sns.distplot(x, color="y")
plt.show()

Q16 color=는 무슨 일을 하나요?

댓글 없음:

댓글 쓰기

PyR Intro - 신입생OT학기제