반응형
# Tidy Data란?
- 데이터를 분석하기 위해 깔끔하게 정리된 데이터(=깔끔한 데이터, Tidy Data)
- 깔끔한 데이터(Tidy Data)로 가공되기 전에는 지저분한 데이터라고 분류
# Tidy Data의 특징
- 각 변수는 개별의 열을 구성
- 각 관측치는 행을 구성
- 각 표는 관측치 기준에 의해 조직된 데이터를 저장
- 여러개의 표 존재시 하나 이상의 열 공유
# Tidy Data로 가공하여 데이터 표를 만들어 분석해보기
# matplotlib
- 간편하게 그래프를 만들고 변화를 줄 수 있음
# matplotlib 호출하기
import matplotlib.pyplot as plt
# 편의상 앞으로 plt로 정의
# 표 만들기 (plot x, y)
- matplotlib.pyplot.plot(x, y) : x축과 y축의 데이터를 가진 표 생성
- 이하 matplotlib.pyplot를 편의상 plt(as plt)로 정의해서 사용함
- plot.show() 를 같이 사용 할 경우 표만 출력
# 표 저장하기 (savefig)
- plt.savefig('파일이름') : 표를 이미지로 저장
- 파일은 실행중인 파일의 같은 경로에 생성
# seaborn
- matplotlib기반의 시각화 라이브러리, 통계를 그래픽으로 나타내기 위한 고급 인터페이스 제공
# seaborn 호출하기
import seaborn
# 통계 그래프 만들기 (seaborn>countplot)
- 예제로 확인을 원하는 경우 첨부파일을 확인해주세요. (pokemon.csv)
- 편의상 데이터를 한 눈에 보기 편하게 여러 데이터가 있는 포켓몬스터의 포켓몬의 상세 정보를 불러왔습니다.
import pandas
df = pandas.read_csv('pokemon.csv')
- 그래프 생성하기
- seaborn.countplot(data= 데이터, x= x축, y= y축, color=색의 인덱스, order=순서)
- 그래프의 색 확인 및 변경
- seaborn.color_palette() : 그래프에 사용될 색 및 인덱스 확인
- 인덱스는 왼쪽부터 차례로 0부터 시작
- 그래프를 만들 때 color를 지정해주면 변경
- 그래프의 순서 변경하기
- 그래프를 만들 때 order를 지정해주면 지정된 순서로 그래프 출력
- 예시) value_counts로 내림차순의 값을 그래프로 출력
- 그래프 각 축의 이름 각도 변경하기
- plt.xticks(rotation=각도) : x축 이름의 각도 기울기 설정
- plt.yticks(rotation=각도) : y축 이름의 각도 기울기 설정
# 원형 그래프 만들기 (pie)
- 예제에 쓰일 기본 데이터프레임(df)
- 가독성을 위해 정렬한 데이터(sorted_data)로 원형 그래프 생성 예정
- 원형 그래프 생성하기
- plt.pie(데이터, autopct = 수치표기, labels = 인덱스, startangle = 각도, wedgeprops = {'width': 0~1사이 숫자})
# 히스토그램 만들기 (hist)
- 히스토그램이란?
- 특정 구간별로 나누어 그래프로 나타낸 것
- 예제에 쓰일 기본 데이터프레임(df)
- 스피드 항목별로 구간을 설정해 히스토그램 생성 예정
- 히스토그램 생성하기
- plt.hist(data= 데이터, x= x축, y= y축, rwidth= 구간사이너비, bins=구간범위)
# 여러개의 그래프 비교하기 (subplot)
- plt.figure(figsize= (x, y)) : 비교할 그래프의 크기, x는 가로, y는 세로. 개인적으로 2:1의 비율이 보기 편함
- plt.subplot(x, y, z) : x는 행, y는 열, z는 순서
# 산점도 그래프만들기 (scatter / seaborn>scatterplot)
- plt.scatter(data= 데이터, x= x축, y= y축) : x와 y의 관계를 그래프로 출력
- 관계(비례, 반비례, 관계없음)를 통해 방향성과 강도를 조사
- 예제에 쓰일 기본 데이터프레임(df)
- 공격과 방어를 기준으로 관계 그래프 생성 예정
- seaborn.scatterplot(data= 데이터, x= x축, y= y축, hue= 기준이 될 데이터)
- hue의 데이터를 기반으로 x축과 y축의 관계를 그래프로 출력
- hue : 단색의 표를 hue에 데이터를 주어 해당 기준으로 다시 다색의 표로 작성
- 세대별로 공격력과 방어력 관계 그래프 생성 예정
# 선형 회귀 분석 그래프 만들기 (regression)
- seaborn.regplot(data= 데이터, x= x축, y= y축)
- 추세선과 함께 표시
# 상관관계(상관계수/상관관계분석) 만들기 (corr)
- df[ [x, y] ].corr() : x=x축, y=y축
- 마이너스(-)로 나오면 반비례, 플러스(+)로 나오면 비례
# 열 분포도 만들기 (heatmap)
- plt.hist2d(data= 데이터, x= x축, y= y축, cmap= '색상(_r)', annot=False)
- cmin : 분포도로부터 멀어진 값들의 색상의 연하기정도? 표가 잘 보이지 않는다면 활용해보자
- cmap : 색상 변경, 색반전은 색상_r
- annot : 해당 값의 실제 값 표기
- plt.colorbar() : 밀도를 나타내는 컬러바 표시
반응형