Python - Plot1
이 페이지는 다음에 대한 공부 기록입니다
JAVA(자바), Python(파이썬) 기반의
AI 활용 응용 소프트웨어 개발자 양성 과정
2021.11.10. ~ 2022.05.18.
찾으시는 정보가 있으시다면
주제별reference를 이용하시거나
우측 상단에 있는 검색기능을 이용해주세요
85일차 수업
plot
import pandas as pd
# scv 파일에서 데이터를 불러오고, 각 컬럼이름 지정해주기
df = pd.read_scv(‘pima-indians-diabetes.csv’, name=[ 'pregnant','plasma','pressure','thickness','insulin','BMI','pedigree','age','diabetes'])
# 필요한 컬럼만 가져오기
temp = df[ ['pregnant','diabetes']]
# 특정 컬럼 값들을 기준으로 그룹화시켜 df 만들기
temp1 = temp.groupby([‘pregnant’]).mean()
# jupyter notebook은 print를 사용하지 않아도 출력 지원
temp1
import matplotlib.pyplot as plt
# 데이터 시각화
temp1.plot()
# plot의 arg 중 kind에 ‘barh’, ‘bar’ 등을 주어 모양을 지정할 수 있음
그룹 메소드
| Method | Description | |:———:|:———————————–| | groupby() | 집계 메소드 | | arr() | 여러개의 컬럼에 각각의 집계함수를 쓸 수 있도록 도와주는 함수 | | count() | 누락 값을 제외한 데이터 수를 반환 | | size() | 누락 값이 포함된 데이터 수를 반환 | | nth(n) | n번째 행을 반환 | | sem() | 평균에 대한 표준 편차 반환 |
그외 sum, mean, std, var, min, max .. (합계, 평균, 표준 편차 등)
seaborn
import seaborn
import matplotlib.pyplot as plt
# 기본 제공 데이터셋
ans = seaborn.load_dataset(‘anscombe’)
ds1 = ans[ans[‘dataset’]== ‘I’]
ds2 = ans[ans[‘dataset’]== ‘II’]
ds3 = ans[ans[‘dataset’]== ‘III’]
ds4 = ans[ans[‘dataset’]== ‘IV’]
x , y = ds1.var(numeric=True)
print(f‘x={x}, y ={y}’) # output “x=11.0, y=4.12726…”
# 의미를 도출해내기 힘든 구조, 우리가 시각화를 해야하는 이유
pyplot
데이터 분석 > 인사이트 도출 > 결과를 알기 쉽게 시각화
모르는 사람이 봐도 어떤 내용인지 쉽게 이해할 수 있도록 도와주는 수단으로써 시각화
import matplotlib.pyplot as plt
plt.plot(ds1[‘x’], ds1[‘y’]) # 선으로 나타내줌
plt.plot(ds2[‘x’], ds2[‘y’], ‘o’) # 점으로 나타내줌
# 전체 그래프에 대한 기본 틀
fig = plt.figure()
axes1 = fig.add_subplot(2,2,1) # x,y 행렬을 만들고 몇번째인지
axes2 = fig.add_subplot(2,2,2) # 2 * 2 행렬의 2번째 plot
axes3 = fig.add_subplot(2,2,3)
axes4 = fig.add_subplot(2,2,4)
axes1.plot(ds1[‘x’], ds1[‘y’], ‘o’)
axes2.plot(ds2[‘x’], ds2[‘y’], ‘o’)
한글 설정
from matplotlib import font_manager
import matplotlib.pylot as plt
# 추가 설정, 폰트를 변경할 때 – 기호가 ㅁ으로 바뀌는 현상 방지
plt.rcParams[‘axes.unicode_minus’]=False
# 그래프에 표시할 폰트 설정
plt.rc(‘font’, family= ‘AppleGothic’)
# 폰트 목록 확인 방법, 경로와 함께 이름 리스트
font_list = font_manager.findSystemFonts(fontpath=None, fontext= ‘ttf’)
data = [1,2,3,4,5]
# 크기 조절
plt.figure(figsize=(20,10))
plt.plot(data)
plt.show()
step = [‘하나’, ‘둘’, ‘셋’, ‘넷’, ‘다섯’]
plt.plot(step, data) # x축, y축 설정
# arg 목록linestyle, color, marker 해당 인자별로 특성 값 지정 가능하고
# ‘bo--’ 처럼 축약식으로도 가능
# 그외 markerfacecolor, lw 등이 있음
plt.title(‘Sample’) # 그래프 타이틀 작성
plt.xlabel(‘time’) # x축 설명 작성
plt.ylabel(‘temp’) # y축 설명 작성
plt.grid() # 그리드 표시