파이썬 Numpy - 파이썬 라이브러리를 활용한 데이터 분석 中
※본 포스팅은 "파이썬 라이브러리를 활용한 데이터 분석"을 기억이 나지 않을 때 다시 돌아볼 목적으로 필요 내용만 간단하게 정리하였습니다.
2017/09/19 - [Data Science/Python] - 파이썬으로 데이터 분석하자 (1)
2017/09/27 - [Data Science/Python] - 파이썬으로 데이터 분석하자 (2) - IPython 사용하기
2017/10/09 - [Data Science/Python] - 파이썬으로 데이터 분석하자 (3) - NumPy 기본
2017/12/06 - [Data Science/Python] - 파이썬으로 데이터분석하자 (4) - Pandas 기본
Matplotlib 기본
matplotlib 라이브러리는 2D 그래프나 시각화를 위해 가장 많이 활용되는 중요한 라이브러리이다. 때로는 숫자보다 그림이 데이터를 이해하고 분석할 때 더 중요하며 누군가에게 설명할 때 그림의 유무는 크나큰 차이를 가져온다.
스스로 데이터 분석을 할 때도 결과를 그림으로 봐야 이해가 될 때가 많다.
ipython --pylab
pylab 모드에서는 MATLAB과 같은 인터페이스로 IPython에서 작업이 가능하다고 함
1. Figure Object
1) Figure와 서브플롯
각각의 인스턴스 메서드를 호출해서 다른 빈 서브 플롯에도 직접 그래프를 그려 넣을 수 있다
'_' 는 Pythonic 한 프로그래밍 방법 중 하나인데 _ 그냥 넘어가겠다는 의미로 생각하면 편하다 (없을 무)
for _, val in enumerate(somelist):
print(val)
_ 에는 index가 올 테지만 index를 꺼내지 않기 원할 때는 _ 로 작업은 진행되나 값을 가져오지는 않는다
이를 그래프를 그릴 때도 사용할 수 있다. subplot 객체를 따로 생성하지 않을 때 변수명으로 '_'을 작성하면 따로 객체가 생성되지 않고도 그래프 그리기가 가능하다
>>> _ = ax1.hist(randn(10), bins=5, color='k', alpha=0.3)
작업을 하다보면 아래 그림과 같이 여러 개의 서브플롯으로 구성된 Figure를 생성하는 일이 생기게 된다.
plt.subplots
이 메서드를 사용해서 NumPy 배열로 된 서브플롯 객체를 손쉽게 생성할 수 있다. 같은 범위 내에서 데이터를 비교해야 할 경우에 정말 편하다
fig, axes = plt.subplots(2,3) # 2개의 figure 객체, 3개의 subplot
< pyplot.subplots 옵션 >
parameter |
description |
nrows |
서브플롯 # of rows |
ncols |
서브플롯 # of cols |
sharex |
모든 서브플롯이 같은 x축 눈금을 사용하도록 xlim을 조정하면 모든 서브플롯에 조정 |
sharey |
모든 서브플롯이 같은 y축 눈금을 사용하도록 ylim을 조정하면 모든 서브플롯에 조정 |
subplot_kw |
add_subplot()을 사용할 때 사용할 키워드 담는 dict |
**fig_kw |
Figure를 생성할 때 사용할 추가 arguments plt.subplots(2,2, figsize = (8,6)) |
plt.subplots_adjust
서브플롯 간 간격 조절하기
left, bottom, right, top, wspace, hspace 의 간격을 조절할 수 있음
2) 색상, 마커, 선 스타일
plt.plot(x, y, linestyle='--', color='r')
plot의 옵션으로
color
linestyle
marker
drawstyle
를 지정해서 자신만의 스타일로 그래프를 작성할 수 있음
3) 눈금, 라벨, 범례
- 범례 정하기
ax.plot( np.array, label = 'name')
label 인자에 원하는 범례 이름을 전달하면 된다
subplot 별로 범례이름을 label로 전달한 후에
>>> ax.legend(loc='best') #가장 적합한 자리에 범례 표시
로 지정한 범례를 표시할 수 있음
4) 주석과 그림 추가
ax.annotate(label, xy=좌표, xytext=텍스트좌표, arrowprops=, horizontalaligment=,verticalalignment=)
주석을 사용하고 싶다면 공식 documentation이나 gallery를 참고하는 게 좋을 것 같다
5) 그림 저장
후우후우,,,,, 그래프는 정말 정리하기 지루하고 고단하다ㅠㅜ
실제로 데이터 정리하면서 조금씩 정리해 나가기로 했다
s.value_counts().plot(kind='bar')
'Data Science > 파이썬으로 데이터분석 하기' 카테고리의 다른 글
파이썬으로 데이터분석하자 (4) - Pandas 기본 (7) | 2017.12.06 |
---|---|
파이썬으로 데이터 분석하자 (3) - NumPy 기본 (4) | 2017.10.09 |
Python 기초 - NumPy Broadcasting 이해하기 (2) (1) | 2017.10.09 |
Python 기초 - NumPy로 선형대수 표현하기 (1) (2) | 2017.10.09 |
파이썬으로 데이터 분석하자 (2) - IPython 사용하기 (1) | 2017.09.27 |
Python 기초 - 일급함수(first-class)란 무엇인가 (2) | 2017.09.20 |
파이썬으로 데이터 분석하자 (1) (1) | 2017.09.19 |
댓글