관리 메뉴

애독자's 공부방

[혼공분석] 6주차 _ 혼자 공부하는 데이터 분석 with 파이썬 본문

데이터분석/혼공학습단 13기

[혼공분석] 6주차 _ 혼자 공부하는 데이터 분석 with 파이썬

애독자 2025. 2. 18. 06:37
728x90

혼공단 - 혼공분석, 혼자 공부하는 데이터 분석 with 파이썬

 

 

■ 시작에 앞서..

2주차 우수혼공족 선정과 3주차 50% 완주 기념으로 받은 기프티콘을 모아 크레이프 케이크로 맛있게 바꾸어 먹었습니다. 족장님 덕분에 달콤한 간식을 즐기면서 더 열심히 학습할 수 있었습니다. 감사합니다.

 

 

 

■ 공부한 내용

# 진도 기본 숙제(필수) 추가 숙제(선택)
6주차
(2/17 ~ 2/23)
Chapter 06 p. 344의 손코딩(맷플롯립의 컬러맵으로 산점도 그리기)을 코랩에서 그래프 출력하고 화면 캡처하기 p. 356 ~ 359의 스택 영역 그래프를 그리는 과정을 정리하기

 

 

 

□ Chapter 06 | 복잡한 데이터 표현하기
▷ 06-1 | 객체지향 API로 그래프 꾸미기

 1. 핵심 포인트 요약

  - 객체지향 API: 맷플롯립에서 이는 명시적으로 피겨 객체와 서브플롯 객체를 만들고 이 객체의 메서드를 사용하여 맷플롯립 그래프를 그리는 방법 (피겨 객체의 설정을 바꾸거나 서브플롯을 추가하는 경우에 사용)

   . pyplot 방식: 객체지형 API와 다른 방법으로 matplotlib.pyplot에 있는 함수를 사용하는 방법 (간단한 경우에 사용)
  - 컬러맵(color map): 맷플롯립에서 그래프를 그리는 데 사용하기 위해 사전에 정의한 색상 리스트.

   . viridis 컬러맵: 기본 컬러맵으로 진녹색에서 노란색으로 변화

   . jet 컬러맵: 낮은 값일수록 짙은 파란색이고, 높은 값으로 갈수록 점차 노란색으로 바뀌었다가 붉은색으로 변화
  - 컬러 막대(color bar): 데이터 포인트에 적용된 색상의 범위를 보여주는 막대. 보통 그래프의 오른쪽에 나란히 놓이며 색깔이 의미하는 실제 값을 참조하는데 사용

 

 2. 책에 나온 함수와 메서드

함수/메서드 기능 사용
matplotlib.pyplot.rc() rcParams 객체의 값을 설정 matplotlib.pyplot.rc(group)
  . 매개변수: 설명
  . group: 설정 그룹을 입력. 예를 들어 'figure.figsize'의 경우 'figure'가 그룹  → 각각의 설정 항목을 키워드 매개변수로 지정. 예를 들어 'figure.figsize'의 경우 rc('figure'.'figsize'=(8, 6))처럼 지정 가능
Figure.colorbar() 그래프에 컬러 막대를 추가 Figure.colorbar(mappable, ax)
  . mappable: 컬러 막대가 설명하려고 하는 그래프 객체. plt.colorbar()로 호출할 때는 생략 가능
. ax: 컬러 막대가 추가될 Axes 객체를 지정

 

 

 06-2 | 맷플롯립의 고급 기능 배우기
 1. 핵심 포인트 요약

  - 범례(legend): 그래프에 그려진 데이터의 이름과 색상을 요약한 표
  - 스택 영역 그래프(stacked area graph): 여러개의 선 그래프를 Y축 방향으로 쌓은 그래프로, 선 아래로 채워진 영역 형태로 표현

   . 피벗 테이블(pivot table): 테이블 형태의 데이터를 평균, 합 등의 방식으로 집계하여 만든 요약표
  - 스택 막대 그래프(stacked bar graph): 여러개의 막대 그래프를 Y축 방향으로 쌓은 그래프로, 막대 위에 막대가 누적되듯이 표현
  - 원 그래프(pie chart): 데이터의 비율을 부채꼴 모양으로 나타낸 그래프. 단, 그래프에 비율이 표시되어 있지 않으면 크기를 비교하기 어려우므로 autopct 매개변수를 사용하여 명확하게 비율을 표시하는 것을 권장

 

 2. 책에 나온 함수와 메서드

함수/메서드 기능 사용
Axes.legend() 그래프에 범례를 추가 Axes.legend(loc)
  . 매개변수: 설명
  . loc: 범례의 위치를 지정. (기본값: 'best'로 그래프와 가장 겹치지 않는 위치를 선택 / 'upper left', 'upper right', 'lower left', 'lower right'는 왼쪽 위부터 시계 방향으로 네 모서리에 해당 / 'upper center', 'lower center', 'center right'는 중앙에서 위아래 좌우 방향을 의미 / 'center'는 그래프의 가운데 / 'right'는 'center right'와 동일)
Axes.set_xlim() x축의 출력 범위를 지정 Axes.set_xlim(xmin, xmax)
  . xmin: 그래프에 나타낼 최솟값을 지정
. xmax: 그래프에 나타낼 최댓값을 지정
Axes.set_ylim() y축의 출력 범위를 지정 Axes.set_ylim(ymin, ymax)
  . ymin: 그래프에 나타낼 최솟값을 지정
. ymax: 그래프에 나타낼 최댓값을 지정
DataFrame.pivot_table() 피벗 테이블 기능을 제공 DataFrame.pivot_table(index, columns, values, aggfunc)
  . index: 피벗 테이블의 인덱스로 그룹 지을 행을 지정
. columns: 피벗 테이블의 열로 그룹 지을 열을 지정
. values: 집계 대상이 되는 열을 지정
. aggfunc: 집계 함수를 지정. (기본값: numpy.mean으로 평균을 계산)
Axes.stackplot() 스텍 영역의 그래프를 그리기 Axes.stackplot(x, y, labels)
  . x: x축의 값으로 크기가 (N, )인 배열을 지정
. y: y축의 값으로 크기가 (M, N)인 배열을 지정
. labels: 범례를 지정. 일반적으로 (M, ) 크기의 리스트
DataFrame.plot.area() 스택 영역 그래프를 그리기 DataFrame.plot.area(x, y, ax, title, xlim, ylim)
  . x: x축 좌표를 위한 열을 지정. 지정하지 않으면 인덱스를 사용
. y: 그래프로 그릴 열을 지정. 지정하지 않으면 모든 열을 사용
. ax: 맷플롯립의 Axes 객체를 지정
. title: 그래프의 제목을 지정
. xlim: x축의 출력 범위를 지정
. ylim: y축의 출력 범위를 지정
DataFrame.plot.bar() 막대 그래프를 그리기 DataFrame.plot.bar(x, y, stacked, ax, title, width)
  . x: x축 좌표를 위한 열을 지정. 지정하지 않으면 인덱스를 사용
. y: 그래프로 그릴 열을 지정. 지정하지 않으면 모든 열을 사용
. stacked: True로 지정하면 스택 막대 그래프를 그림 (기본값: False)
. ax: 맷플롯립의 Axes 객체를 지정
. title: 그래프의 제목을 지정
. width: 막대의 두께를 지정
DataFrame.cumsum() 행이나 열 방향으로 누적 합을 계산 DataFrame.cumsum(axis)
  . axis: 누적 방향을 지정 (기본값: 0은 행을 따라 누적 / 1은 열을 따라 누적)
Axes.pie() 원 그래프(파이 차트)를 그리기 Axes.pie(x, labels, explode, startangle, autopct)
  . x: 원 그래프로 나타낼 1차원 배열
. labels: 범례를 지정. 일반적으로 x와 같은 길이의 리스트
. explode: x와 같은 길이의 배열로 부채꼴 조각을 중심에서 떨어뜨릴 간격을 원의 반지름에 대한 비율로 지정
. startangle: 3시 방향부터 반시계 방향으로 원 그래프를 그리기 시작할 각도를 지정 (기본값: 0)
. autopct: 부채꼴 안에 비율 값을 표시하기 위한 호출 가능한 함수 또는 % 연산자에 적용할 수 있는 포맷 문자열을 지정. 예를 들어 '%.2"을 전달하면 소수점 두 자리 실수로 퍼센트 값을 표시

 

 

 

■ 기본 숙제

  - p. 344의 손코딩(맷플롯립의 컬러맵으로 산점도 그리기)을 코랩에서 그래프 출력하고 화면 캡처하기

 

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

 

■ 추가 숙제(선택)

  - p. 356 ~ 359의 스택 영역 그래프를 그리는 과정을 정리하기

 

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

 

728x90