파이썬에서 그래프를 만들기 위해서는
numpy, matplotlib 과 같은 라이브러리가 필요하다.
pycharm에서 file - setting - project: lab-python 으로 들어간다.
그리고 + 버튼을 클릭하고
pandas를 검색한다.
인스톨하자
matplotlib도 검색한다.
인스톨한다.
그 다음 csv 샘플 파일을 인터넷이든, 자신의 파일이든 하나 구해오자
그리고 아래와 같이 자신의 패키지에 넣어주자.
샘플파일을 넣었으면 코드를 한번 짜보자
"""
python에서 데이터 분석을 할 때 자주 사용되는 패키지:
numpy, pandas, matplotlib, cipy
"""
from pandas.io.parsers import read_csv
import matplotlib.pyplot as plt # 그래프를 위한 라이브러리
# csv 파일에서 data frame 만들기
df = read_csv('csv_exam.csv')
print('Type:', type(df)) # 데이터 프레임의 row(observation)의 갯수
print('Shape:', df.shape) # 데이터 프레임의 (row, col)
print('Head:\n', df.head(3)) # 데이터 프레임의 처음 일부 데이터
print('tail:\n', df.tail(3))
print('Values:\n', df.values)
print('Describe:\n', df.describe()) # 요약 통계량(최솟값, 최댓값, 중앙값, 평균 ...)
print('-'*30)
import는 csv 파일을 읽는 라이브러리와
그래프를 위한 라이브러리이다.
먼저 df 변수를 선언한 후 csv_exam.csv를 읽어오고
위에서부터
shaep(행,열), head(위에서부터 3까지의 데이터), tail(아래서부터 3개의 데이터),
values(값), descibe(요약통계량)
을 뜻하는 메소드들이다.
이를 실행하게 되면
위와 같은 결과가 나온다.
위의 데이터를 이용하여 영어 점수의 박스플롯을 그려보자
# matplotlib을 이용한 상자 그래프(box plot)
plt.boxplot(df.english)
plt.savefig('exam-english.png')
plt.show()
그 후 matplotlib를 통해 boxplot 그래프를 그릴 수 있다.
첫째줄은 그래프를 그리는 메소드
두번째는 이를 이미지로 저장하겠다는 메소드
세번째 줄이 창을 띄워 결과를 확인하는 메소드이다.
이를 실행하게 되면
이러한 결과가 나온다
영어 점수의 박스플롯이다.
그럼 다음으로
R에서 기본으로 제공하는 mtcars.csv를 이용하여
산점도 그래프를 만들어보자
"""
mtcars 데이터 프레임 분석, 산점도 그래프(scatter plot) 그리기
"""
from pandas.io.parsers import read_csv
import matplotlib.pyplot as plt
df = read_csv('mtcars.csv')
print(df.shape)
print(df.head(5))
print(df.describe())
# mpg(연비) box plot
plt.boxplot(df.mpg)
plt.savefig('mpg.png')
plt.show()
# 자동차 배기량(disp)과 연비(mpg)의 상관 관계 산점도 그래프
plt.scatter(df.disp, df.mpg)
plt.xlabel('disp')
plt.ylabel('mpg')
plt.show()
# 자동차의 무게(wt)와 연비(mpg)의 산점도 그래프
plt.scatter(df.wt, df.mpg)
plt.xlabel('weight')
plt.ylabel('miles per gallon')
plt.grid()
plt.savefig('wt-mpg.png')
plt.show()
기본적인 그래프 그리기는 위와 같다
다른 점으로는 scatter 함수를 이용한 산점도 그래프와
xlabel, ylabel에 라벨을 붙여주는 함수
grid 함수는 결과에 선을 그어주어 시각적으로 더 이해하기 쉽게 표현하는 기능을 한다.
결과는 아래와 같다.
grid를 빼고 그렸다. grid를 넣으면 x, y 값마다 선이들어간다.
'그 외 개발관련' 카테고리의 다른 글
github - git bash 터미널 계정 변경 (5) | 2018.02.02 |
---|---|
python에서 Oracle Instant Client 사용하기 (0) | 2017.12.08 |
Python 개발환경 설치 (0) | 2017.12.05 |