시계열 데이터 가시화 (1) 파이썬 그래프 그리기 3단계

시계열 데이터 가시화 (1) 파이썬 그래프 그리기 3단계

어린이 파이썬 프로그래머뿐만 아니라 코딩을 모르시는 분들도 따라하면서 자연스럽게 익힐 수 있도록 파이썬 프로그래밍 시작 시리즈를 기획했었습니다. 이번 포스팅을 통해서는 주식 가격, 코인 가격 등 시계열 데이터 가시화를 위한 간단한 방법을 익힐 수 있을 것입니다. 단 3줄의 코드로 파이썬 그래프를 경험해 보시기 바랍니다.

글의 순서

시계열 데이터란
파이썬 그래프 패키지. matplotlib
matplotlib를 이용한 시계열 데이터 가시화 : 그래프 그리기 3단계
matplotlib를 이용한 시계열 데이터 가시화 예제 : 비트코인 가격 그래프


시계열 데이터란

시계열은 정해진 기간 동안의 데이터를 연속적으로 배열해 놓은 것을 의미합니다. 시간이 흘러감에 따라 측정된 모든 데이터들을 시계열로 볼 수 있습니다. 예를 들어, 주가지수, 코인 가격, 매일 매일의 유가 변동사항, 환율 등과 같은 데이터들은 시계열 데이터로 볼 수 있는 것입니다.

시계열을 영어로 하면 time series입니다. 일단 파이썬으로 쉽게 접근할 수 있는 코인 가격으로 관심의 영역을 좁혀서 살펴보고 나면 나머지 시계열 데이터를 이해하는 것도 큰 어려움이 없을 것으로 보입니다. 파이썬으로 시계열 데이터를 보기 위한 준비운동부터 시작해 보겠습니다.



파이썬 그래프 패키지. matplotlib

시계열 데이터를 보기 위해 가장 좋은 방법이 시간에 따라 변화하는 값을 보는 것입니다. 그런데 숫자로 된 데이터는 개수가 많아질수록 한 눈에 들어오지 않습니다. 이런 데이터를 한눈에 파악하는데 가장 좋은 방법이 그래프입니다. 중학수학 함수 부분에서 배웠던 x-y 그래프를 떠 올려 보시면 되겠습니다. 매시간, 매일매일 변하는 주가변동 그래프나 코인 가격 그래프가 이 x-y 그래프 모양입니다. 그래프를 그리는 것을 데이터를 시각화한다라고 표현할 수 있습니다.

파이썬에서는 그래프를 그리는데 필요한 패키지가 마련되어 있습니다. 대표적인 것이 matplotlib라는 패키지입니다. 파이썬 패키지라는 용어가 다시 등장했는데요. ‘파이썬 프로그래밍 시작 (14) 패키지, 모듈’ 이라는 포스팅에서 좀더 자세히 보실 수 있겠습니다만, 아래와 같이 요약해 볼 수 있습니다.

파이썬에서 쓰는 패키지라는 용어를 다른 프로그래밍 언어에서는 ‘라이브러리’라고하며, 파이썬에서도 패키지와 라이브러리를 함께 사용합니다. 패키지는 모듈들의 합이고, 모듈은 어떤 기능 하나를 코드로 구현해 놓은 파일입니다.

matplotlib라는 패키지는 파이썬에서 시계열 데이터 그래프와 같은 2차원 형태의 그래프를 그릴 때 많이 사용됩니다. 여기서는 당장 사용해 볼 수 있는 방법 위주로 알아보겠습니다. 혹시 기본 기능을 사용하시다가, 자세한 내용을 알고 싶다면, matplotlib 홈페이지에 나와 있는 예제를 참고하시면 됩니다.


matplotlib를 이용한 시계열 데이터 가시화 : 그래프 그리기 3단계

파이썬 실행 환경이 구축되어 있지 않더라도 이 과정을 repl.it의 코딩환경에서 따라해 보실 수 있습니다.‘파이썬 프로그래밍 시작하기 (1) 온라인 프로그래밍 환경 repl.it’라는 포스팅을 참고해 주시기 바랍니다.

(1) pyplot 모듈 불러오기

matplotlib 라이브러리 안에는 다양한 모듈들이 있습니다만, 우리가 시각화하고자 하는 주가 데이터에 맞는 모듈은 pyplot입니다. 파이썬 시각화 라이브러리인 matplotlib 라이브러리에서 pyplot 모듈을 불러옵니다.

from matplotlib import pyplot

from 다음에 패키지 이름, import 다음에 모듈 이름을 쓰기만 하면 모듈이 가지고 있는 기능을 쓸 수 있습니다. 여기서 from을 생략하는 대신 패키지 이름과 모듈 이름을 붙여서 import 할 수도 있습니다. 이 포스팅에서는 ‘패키지이름.모듈이름’과 같은 형식인 import matplotlib.pyplot로 써 보겠습니다. from이 생략된 형태지만 import matplotlib.pyplot은 matplotlib라는 패키지의 pyplot 모듈을 불러온다는 뜻입니다. 그런데 matplotlib.pyplot이 길고 복잡해 보이기 때문에. as구문을 써서 간단하게 plt라는 별명을 주겠습니다. 실제로 많은 파이썬 프로그래머가 plt라는 별명을 사용합니다.

import matplotlib.pyplot as plt

(2) plot 함수 사용하기

이미 위에서 plt라는 별명을 사용할 수 있도록 해놨기 때문에 plt라고 쓰면 이것은 matplotlib라는 패키지 안에 있는 pyplot 모듈이라는 것을 의미합니다. 그래서 pyplot 안에 있는 함수인 plot을 아래와 같이 간단하게 쓸 수 있습니다. x인자와 y인자로는 보통 리스트라는 데이터 구조를 사용합니다.

plt.plot(x인자, y인자)

(3) show 함수 사용해서 그래프 보여주기

matplotlib 라이브러리의 pyplot 모듈 안에 있는 show 함수로 그래프를 보여줍니다.

plt.show()


matplotlib를 이용한 시계열 데이터 가시화 예제 : 비트코인 가격 그래프

실제로 코인 가격을 가지고 와서 시각화 해보겠습니다. 일단 이 포스팅의 목표는 ‘matplotlib 라이브러리를 사용하여 데이터 시각화를 이런 방법으로 할 수 있구나’ 라고 이해하는 것입니다. 사실 이 그래프 한번 그려보면, 시계열 데이터뿐만아니라 다른 2차원 데이터도 똑같은 방식으로 그릴 수 있습니다. 그러니까 x, y 그래프로 보여질 수 있는 데이터는 모두 똑같은 방식으로 그려볼 수 있다는 얘기입니다.

그래프로 그려볼 시계열 데이터를 업비트라는 코인 거래소에서 가져왔습니다.

날짜 비트코인 가격 (원)
업비트 종가 기준
06.01 37,880,000
06.02 38,392,000
06.03 37,851,000
06.04 37,916,000
06.05 38,053,000

x인자를 리스트 [‘06.01’, ‘06.02’, ‘06.03’, ‘06.04’, ‘06.05’]로, y인자를 리스트 [37880, 38392, 37851, 37916, 38053]으로 각각 준비합니다. x인자로 쓰일 리스트는 날짜라 문자열로 처리했으며, y인자의 경우 숫자가 너무 복잡해서 단위를 천원으로 바꾼 상태입니다.

아래 그림은 코드 실행결과입니다. 가로축에 날짜, 세로축에 천원 단위로 가격이 찍혀있고, 시간이 흘러감에 따라 가격의 변동사항을 확인할 수 있습니다. 이 시계열 데이터 그래프를 더 보기 편하게 하고, 더 많은 정보를 넣는 방법에 대해서는 다음 포스팅에서 배워보겠습니다.

시계열 데이터 예제


마치며 …

이번 포스팅에서는 주가, 코인 가격 등 시계열 데이터를 가시화할 수 있는 간단한 방법을 익혀보았습니다. 시계열 데이터를 가시화하기 위해 파이썬 패키지(=라이브러리)인 matplotlib를 사용했었습니다. 이 라이브러리를 사용해서 단 3줄의 코드로 시계열 데이터를 가시화할 수 있었습니다.

일단 ‘시계열_데이터_가시화01’ 코드를 통해 파이썬 패키지 사용법에 익숙해지셨다면, 그래프를 좀 더 눈에 잘 들어오게 하는 방법들을 다음 포스팅에서 배워보겠습니다.

 

 

함께 참고하면 더 좋은 글 :
1. 시계열 데이터 가시화 (2) 보고서용 파이썬 그래프 만들기
2. 파이썬 프로그래밍 시작하기 (1) 온라인 프로그래밍 환경 replit
3. 파이썬 프로그래밍 시작 (3) 파이썬 함수 실습
4. 파이썬 프로그래밍 시작 (14) 패키지
5. 파이썬 데이터 분석! 데이터 분석을 위한 코딩언어 파이썬


참고자료

[1] [위키백과] 시계열
[2] Matplotlib: Visualization with Python

Leave a Comment