본문 바로가기
데이터 분석

[패스트 캠퍼스 수강 후기] 직장인을 위한 파이썬 데이터 분석 올인원 패키지 Online 16일차

by HIMMEL95 2021. 4. 5.
  • 수강한 강의
    : Ch02.seaborn-01.seaborn을 소개합니다. / Ch02.seaborn-02.seaborn에서 추가된 기능, 장점 미리보기 / Ch02.seaborn-03. matplotlib차트를 seaborn에서 구현 (1)- scatterplot, barplot / Ch02.seaborn-04. matplotlib차트를 seaborn에서 구현 (2)- lineplot, histogram, boxplot / Ch02.seaborn-05.이해를 돕기 위한 seaborn샘플 데이터 소개 / Ch02.seaborn-06.countplot

  • Ch02.seaborn-01.seaborn을 소개합니다.

    • seaborn : matplotlib을 기반으로 다양한 색상과 차트를 지원하는 라이브러리
      import seaborn as sns

      • 장점
      • 보다 아름다운 디자인
      • 통계 기능 기반의 차트 (countplot, relplot, lmplot.....)
      • 쉬운 사용성
      • pandas, matplotlib 호한

      https://seaborn.pydata.org/

    • 좀 더 자세한 내용은 위 공식 도큐먼트 URL 에서 확인하면 더 자세한 내용을 확인할 수 있다.

  • Ch02.seaborn-02.seaborn에서 추가된 기능, 장점 미리보기

    • 우선 seaborn에서 사용하는 그래프를 확인해보자.
      그래프의 종류는 violinplot, countplot, relplot, lmplot, heatmap 등의 그래프가 있다.

      • violinplot

      • countplot

      • relplot

      • lmplot

      • heatmap

      • 다음의 그래프들은 뒤에 좀 더 자세하게 설명을 하기 때문에 지금은 seaborn에서 그릴 수 있는 그래프가 이렇게 존재한다 정도만 작성하고 넘어가도록 하겠습니다.

      • 아름다운 스타일링

        • matplotlib으로 작성

        • seaborn으로 작성

      • 컬러 팔레트

        • seaborn의 컬러 팔레트
      • 색상 변화를 보기 위해서 barplot 사용 (원래는 barplot 사용안함)

      • 빨간색 계열을 사용하고 싶을 때 사용

      • pandas 데이터프레임과 높은 호환

      • hue 옵션으로 bar를 구분

        • xtick, ytick, xlabel, ylabel을 알아서 생성해 준다.

        • legend 까지 자동으로 생성해 준다.

        • 뿐만 아니라, 신뢰 구간도 알아서 계산하여 생성한다.

      • col 옵션 하나로 그래프 자체를 분활해 준다

      • col 대신 row로 작성을 하게 되면 행으로 나눠서 표현된다.

  • Ch02.seaborn-03. matplotlib차트를 seaborn에서 구현 (1)- scatterplot, barplot

    1. scatterplot
      • matplotlib으로 작성한 scatterplot
      • seaborn 에서는 sizesizes를 동시에 지정해줍니다.
      • sizes 옵션에서는 사이즈의 min, max를 명시해 줍니다.
      • hue는 컬러 옵션입니다.
      • palette를 통해 seaborn이 제공하는 아름다운 palette 를 이용하시면 됩니다.
      • seaborn으로 작성한 scatterplot


- legend도 자동으로 생성된다.
- palette를 외우기 어려우면 일부로 오류를 발생시켜서 오류 코드에서 색상을 복사 붙여넣기 한다.
- matplotlib으로 작성된 것

- seaborn으로 작성된 것

- matplotlib과 seaborn의 차이를 보게되면, 기본적인 코드는 같지만 중간에 sns.scatterplot(x, y, size=area, sizes=(area.min(), area.max()), color='green', alpha=0.9) 라는 코드가 추가로 붙게 되고, 출력된 결과를 확인해보면 그래프에 내부는 거의 동일하지만 seaborn에서는 legend가 자동적으로 생성된 것을 확인할 수 있다.
2. barplot
- 기본적인 barplot 이다.

- 요번 것은 seaborn으로 작성된 barplot이다.

- matplotlib의 barplot과, seaborn의 barplot을 보게되면 같은 그래프를 보여주게 되지만, seaborn의 barplot으로 작성된 그래프가 훨씬 더 시각적으로 좋은 것을 확인할 수 있게 된다.
- matplotlib의 barplot도 barhplot으로 출력할 수 있다.

- seaborn의 barplot도 barhplot으로 출력할 수 있다.

- barplot에서 비교하여 그래프를 그리기


- 다음의 사진은 matplotlib으로 작성된 그래프이다.
- seaborn에서는 위의 matplotlib과 조금 다른 방식을 취한다.
실전. TIP
- 그래프를 임의로 그려야 하는 경우에는 matplotlib
- DataFrame을 가지고 그리는 경우에는 seaborn을 활용하여 그리면 더 도움이 된다.
- seaborn에서는 hue 옵션으로 매우 쉽게 비교 barplot 을 그릴 수 있다.

- hue 옵션을 사용하면 그래프에서 보이는 것처럼 우선 성별로 나누고, 그 다음에 각 성별별로 pclass의 값으로 나누어져 있는 것을 확인할 수 있다. 하지만 hue 옵션값을 부여하지 않고 그냥 그래프를 출력하게 되면, 각 등급은 없이 그냥 성별로만 나눠서 그래프가 출력되는 것을 확인할 수 있다.

  • Ch02.seaborn-04. matplotlib차트를 seaborn에서 구현 (2)- lineplot, histogram, boxplot

    1. lineplot

      • Main lineplot
      • Seaborn lineplot
      • 작성 방법은 plt.plot(x,y)sns.lineplot(x,y)로 변경만 해주게 되면 seaborn으로 작성한 그래프가 된다.
    2. areaplot

      • Main areaplot
      • Seaborn에서는 area plot을 지원하지 않는다.
      • 그래서 matplotlib을 활용하여 구현해야 한다.
    3. histogram

      • 기본 histogram

      • Seaborn histogram

      • seaborn histogram에서는 sns.distplot() 함수를 활용하여 히스토그램 그래프를 작성하게 된다. 다음 함수에는 x축의 범위, kde, hist, color의 옵션을 추가하여 설정해 줄 수 있다.

      • kde을 Ture로 설정해주면, Density가 Y축에 표기된다.

      • vertical = True로 옵션을 설정해주면 축이 바뀌어서 생성된다.

  • 위에 사진에 작성된 코드안에 vertical 옵션을 추가해주게 되면 x와 y의 축이 변경되어 그래프가 출력된 것을 확인할 수 있다.

      - sharey: y축을 다중 그래프가 share
      - tight_layout: graph의 패딩을 자동으로 조절해주어 fit한 graph를 생성
    1. pie chart

      • seaborn에서는 Pie plot을 지원하지 않는다.
      • matplotlib을 활용하여 구현해야 한다.
    2. boxplot

      • main boxplot

      • seaborn boxplot

      • seaborn에서는 orient를 'v'로 설정을 해주어야지 그래프의 방향이 vertical인 그래프가 생성이 되게 된다. 그리고 width 값을 옵션으로 부여해주게 되면 넓게 출력된 그래프가 보기에 좋게 출력되는 것을 확인할 수 있다.

      • 다중 박스플롯

      • 다중 박스플롯 만드는 방법은 저번 블로그에 작성을 했기 때문에, 생략을 하겠습니다.

      • seaborn에서 boxplot을 그릴 때는 DataFrame을 가지고 그릴 때 주로 활용합니다.

        • seaborn 에서는 hue 옵션으로 매우 쉽게 비교 boxplot을 그릴 수 있습니다.
      • 다음 사진이 seaborn을 활용하여 다중 박스플롯을 출력한 것인다.

      • 축 바꾸기

        • 다음 사진은 vert=False 옵션을 통해서 축을 바꿔서 그래프를 출력할 수 있다.
  • Ch02.seaborn-05.이해를 돕기 위한 seaborn샘플 데이터 소개

    • 요번에는 seaborn을 사용함에 있어서 활용하게 될 데이터 셋을 설명하겠습니다.

    • 다음 데이터는 데이터 분석을 함에 있어서 가장 많이 활용이 되고 있는 타이타닉 샘플 데이터 자료이다.

    • 해당 데이터 자료에는 사진처럼 생존여부, 좌석등급, 성별, 나이, 형제자매 + 배우자 숫자, 부모자식 숫자, 요금, 탒승 항구, 좌석등급(영문), 사람 구분, 데크, 탑승 항구 (영문), 생존여부 (영문), 혼자인지 여부에 관한 데이터들이 영어와 특정 표기 방법으로 작성되어 있는 것을 확인 할 수 있다. 이러한 데이터를 가지고 데이터 분석을 진행을 하게 된다. 예를 들면 각 성별별로 pclass(좌석 등급)이 어떻게 분포되어 있는지에 관한 것도 분석을 할 수 있고, 나이별로 생존여부 등, 여러가지 본인이 얻고자 하는 데이터를 추출하여 데이터 분석을 진행 할 수 있게 된다.

    • 다음은 식당 요금 관련된 데이터 셋이다.

    • 요번 데이터에는 총 합계 요금표, 팁, 성별, 흡연자 여부, 요일, 식사 시간, 식사 인원에 관한 내용이 작성된 것을 확인할 수 있다.

    • 그리고 이러한 데이터를 불러오기 위해서는 다음과 같은 코드를 작성하면 된다.
      sns.load_dataset('titanic')
      sns.load_dataset('tips')

  • Ch02.seaborn-06.countplot

    • 다음은 countplot이다.

    • 다음 사진을 보게 되면 titanic 데이터를 활용하여 각 좌석 등급 별로 남자, 여자, 아이들이 몇 명씩 존재하는지에 관한 내용을 그래프로 표현한 그래프 이다. 여기에서 hue옵션값을 부여하지 않게 되면 그냥 각 좌석 등급 별로 몇 명이 존재하는지 만을 그래프로 표현하게 된다.

    • hue옵션 없이 하게 되면 각 등급 별이 x축에 위치하게 된다.

    • 가로로 출력

    • 다음은 위 사진의 그래프의 축을 바꿔서 출력을 한 그래프이다.

    • 축을 바꾸기 위해서는 간단하게 X => Y로 바꿔서 작성을 해주게 되면, 자연스럽게 그래프의 축이 변경되어 출력되는 것을 확인할 수 있게 된다.

    • 다음 그래프도 palette 옵션을 통해서 그래프의 색상을 변경하여 출력할 수 있다.

    • 다음 사진을 보면 위에 사진에서 countplot옵션에 palette옵션만을 추가하여 그래프의 색상을 바꿀 수 있는 것을 확인할 수 있다.

이렇게 seaborn의 시각화에 관한 설명, 추가된 기능 및 장점, matplotlib에서 사용했던 scatter, barplot, lineplot, histogram, boxplot을 seaborn에서 사용하는 방법, seaborn 샘플 데이터셋, countplot에 관해서 작성해보았습니다..

  • 데이터 분석
  • 홈페이지에서 강의 찾는 방법
    패스트 캠퍼스 -> 온라인 -> 올인원 패키지 -> [데이터 분석 강의 보러 가기] -> 직장인을 위한 파이썬 데이터 분석 올인원 패키지 Online.

패스트 캠퍼스 - [데이터 사이언스] 직장인을 위한 파이썬 데이터 분석
https://bit.ly/2MJqrMs

댓글