수강한 강의
: 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.countplotCh02.seaborn-01.seaborn을 소개합니다.
seaborn : matplotlib을 기반으로 다양한 색상과 차트를 지원하는 라이브러리
import seaborn as sns
- 장점
- 보다 아름다운 디자인
- 통계 기능 기반의 차트 (countplot, relplot, lmplot.....)
- 쉬운 사용성
- pandas, matplotlib 호한
좀 더 자세한 내용은 위 공식 도큐먼트 URL 에서 확인하면 더 자세한 내용을 확인할 수 있다.
Ch02.seaborn-02.seaborn에서 추가된 기능, 장점 미리보기
우선 seaborn에서 사용하는 그래프를 확인해보자.
그래프의 종류는 violinplot, countplot, relplot, lmplot, heatmap 등의 그래프가 있다.violinplot
countplot
relplot
lmplot
heatmap
다음의 그래프들은 뒤에 좀 더 자세하게 설명을 하기 때문에 지금은 seaborn에서 그릴 수 있는 그래프가 이렇게 존재한다 정도만 작성하고 넘어가도록 하겠습니다.
아름다운 스타일링
matplotlib으로 작성
seaborn으로 작성
컬러 팔레트
- seaborn의 컬러 팔레트
- seaborn의 컬러 팔레트
색상 변화를 보기 위해서 barplot 사용 (원래는 barplot 사용안함)
빨간색 계열을 사용하고 싶을 때 사용
pandas 데이터프레임과 높은 호환
hue 옵션으로 bar를 구분
xtick, ytick, xlabel, ylabel을 알아서 생성해 준다.
legend 까지 자동으로 생성해 준다.
뿐만 아니라, 신뢰 구간도 알아서 계산하여 생성한다.
col 옵션 하나로 그래프 자체를 분활해 준다
col 대신 row로 작성을 하게 되면 행으로 나눠서 표현된다.
Ch02.seaborn-03. matplotlib차트를 seaborn에서 구현 (1)- scatterplot, barplot
- scatterplot
- matplotlib으로 작성한 scatterplot
- seaborn 에서는
size
와sizes
를 동시에 지정해줍니다. sizes
옵션에서는 사이즈의 min, max를 명시해 줍니다.hue
는 컬러 옵션입니다.palette
를 통해 seaborn이 제공하는 아름다운 palette 를 이용하시면 됩니다.- seaborn으로 작성한 scatterplot
- matplotlib으로 작성한 scatterplot
- 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
lineplot
- Main lineplot
- Seaborn lineplot
- 작성 방법은
plt.plot(x,y)
를sns.lineplot(x,y)
로 변경만 해주게 되면 seaborn으로 작성한 그래프가 된다.
- Main lineplot
areaplot
- Main areaplot
- Seaborn에서는 area plot을 지원하지 않는다.
- 그래서
matplotlib
을 활용하여 구현해야 한다.
- Main areaplot
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를 생성
pie chart
- seaborn에서는 Pie plot을 지원하지 않는다.
- matplotlib을 활용하여 구현해야 한다.
boxplot
main boxplot
seaborn boxplot
seaborn에서는 orient를 'v'로 설정을 해주어야지 그래프의 방향이 vertical인 그래프가 생성이 되게 된다. 그리고 width 값을 옵션으로 부여해주게 되면 넓게 출력된 그래프가 보기에 좋게 출력되는 것을 확인할 수 있다.
다중 박스플롯
다중 박스플롯 만드는 방법은 저번 블로그에 작성을 했기 때문에, 생략을 하겠습니다.
seaborn에서 boxplot을 그릴 때는 DataFrame을 가지고 그릴 때 주로 활용합니다.
- seaborn 에서는
hue
옵션으로 매우 쉽게 비교 boxplot을 그릴 수 있습니다.
- seaborn 에서는
다음 사진이 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
'데이터 분석' 카테고리의 다른 글
[패스트 캠퍼스 수강 후기] 직장인을 위한 파이썬 데이터 분석 올인원 패키지 Online 18일차 (0) | 2021.04.12 |
---|---|
[패스트 캠퍼스 수강 후기] 직장인을 위한 파이썬 데이터 분석 올인원 패키지 Online 17일차 (0) | 2021.04.06 |
[패스트 캠퍼스 수강 후기] 직장인을 위한 파이썬 데이터 분석 올인원 패키지 Online 15일차 (0) | 2021.03.30 |
[패스트 캠퍼스 수강 후기] 직장인을 위한 파이썬 데이터 분석 올인원 패키지 Online 14일차 (0) | 2021.03.29 |
[패스트 캠퍼스 수강 후기] 직장인을 위한 파이썬 데이터 분석 올인원 패키지 Online 13일차 (0) | 2021.03.23 |
댓글