파이썬 데이터 분석 : 판다스 데이터프레임 통계량, 그래프

파이썬 데이터 분석 : 판다스 데이터프레임 통계량, 그래프

바이낸스 비트코인 백테스팅 데이터를 엑셀에 정리했습니다. 이 엑셀 파일을 파이썬 판다스 read_excel() 함수로 불러와서 데이터프레임에 저장하고 난 후부터, 본격적인 파이썬 데이터 분석의 단계로 넘어갈 수 있습니다. 이번 포스팅에서는 엑셀 파일을 읽고, pivot_table()로 변환 후 describe()로 통계량을 분석하고, 이를 pyplot으로 그리는 방법까지 알아보겠습니다.


글의 순서

파이썬 판다스로 엑셀 파일 원하는 부분 골라 읽고, pivot_table()로 데이터 변환
파이썬 데이터 분석 : 판다스 데이터프레임 describe()
파이썬 데이터 분석 : matplotlib.pyplot 그래프
파이썬 코드 : 판다스 통계량과 그래프로 파이썬 데이터 분석


파이썬 판다스로 엑셀 파일 원하는 부분 골라 읽고, pivot_table()로 데이터 변환

지난 포스팅 파이썬 판다스 데이터 분석 : pivot, 엑셀 입력, 출력라는 포스팅에서 엑셀 파일을 파이썬 판다스 데이터프레임으로 읽어온 후 pivot_table() 함수로 변환했었습니다.

pivot_table() 함수로 변환했던 최종 결과물은 바이낸스 비트코인 변동성 돌파전략 백 테스팅 결과라는 포스팅의 결과에서 확인했던 아래 형태의 데이터입니다.

백 테스팅 결과 : 바이낸스 비트코인 자동 매매



파이썬 데이터 분석 : 판다스 데이터프레임 describe()

describe() 함수는 판다스 데이터프레임 전체의 요약정보를 보여주는 함수입니다. 정확하게는 요약통계량입니다. describe() 함수는 각 열(column) 별로 count, mean, std, min, 25%, 50%, 75%, max 값을 출력합니다. 각각의 의미는 다음과 같습니다.

▶count : 컬럼별 총 데이터 개수
▶mean/std : 각 컬럼별 데이터의 평균/표준편차
▶min/max : 각 컬럼별 데이터의 최소값/최대값
▶25%/50%/75% : 각 컬럼별 25%, 50%, 75% 위치의 값, 평균을 보완하는 값

describe()를 사용하면 각 시간간격 별, K값 별로 평균과 표준편차를 비교해서 어떤 조합이 제일 좋은지를 알아볼 수 있습니다. 만약 데이터프레임 전체가 아니라 하나의 컬럼, 예를들어1분을 뜻하는 1m의 요약통계량을 보고싶다면, pivot[‘1m’].describe()를 입력하면 됩니다.

두 개 이상의 컬럼에 대한 요약통계량을 보려면 어떻게 해야 할까요? pivot[[‘1m’,’15m’,’1h’]].describe()에서처럼 원하는 컬럼을 리스트 [ ] 로 묶으면 되겠습니다.


파이썬 데이터 분석 : matplotlib.pyplot 그래프

숫자로 된 데이터는 개수가 많아질수록 의미를 파악하기가 어려워집니다. 이런 데이터를 한눈에 파악하는데 가장 좋은 방법이 그래프이고, 파이썬에서는 그래프를 그리는데 matplotlib라는 패키지가 널리 사용되고 있습니다. 그중에서도 우리가 시각화하고자 하는 데이터에는 pyplot이 가장 알맞은 모듈입니다. 참고로 matplotlib의 pyplot을 이용한 방법은 아래 4개의 포스팅에 정리되어 있습니다.

matplotlib의 pyplot을 이용한 가시화 방법 :
1. 시계열 데이터 가시화 (1) 파이썬 그래프 그리기 3단계
2. 시계열 데이터 가시화 (2) 보고서용 파이썬 그래프 만들기
3. 시계열 데이터 가시화 (3) 파이썬 날짜변환, pandas를 이용한 그래프 그리기
4. 시계열 데이터 가시화 (4) 2개 y축 그래프로 코인 가격 비교

이 포스팅에서는 아래의 방법으로 가시화 하였습니다.
(1) Excel 파일에서 원하는 부분만 불러온 후 Pandas DataFrame에 저장
(2) 판다스 pivot_table 함수를 이용하여 데이터 형태 변환한 후 데이터프레임 변수 pivot에 저장
(3) 데이터프레임 변수 pivot의 열(column) 순서 변경
(4) 판다스 데이터프레임 통계량 확인 : describe()
(5) 데이터 가시화 준비 : matplotlib.pyplot 이용
(5-1) 인덱스 별로 각 열 데이터 가시화
(5-2) 그래프 제목, x, y축 이름 입력
(5-3) 그래프 가독성 향상을 위한 격자, 범례 추가
(6) 데이터 가시화 결과(그래프 출력) 확인 : 화면 출력 또는 파일 출력 중 선택 필요

그래프를 jpeg, png, tiff등 그림 파일로 저장하기 위해서는 savefig() 함수를 사용합니다. 이때 화면에 출력하는 show() 함수와 함께 쓰면 그래프 파일이 제대로 저장되지 않습니다. show() 함수나 savefig() 함수 중 하나를 선택해야 한다는 사실을 기억해 주시기 바랍니다. 또한, savefig() 함수의 파라미터로 넘겨주는 dpi 값은 그림 파일의 선명도를 조절하는 변수이며, 기본값은 100입니다.


파이썬 코드 : 판다스 통계량과 그래프로 파이썬 데이터 분석

판다스 통계량을 계산해주는 describe() 함수와 pyplot 그래프로 파이썬 데이터 분석을 해보았습니다. 실습코드01의 #04, #05 부분을 출력파일로 확인해 보시기 바랍니다. 썸네일은 실습코드로 만든 btc_price.png 파일입니다.


마치며 …

바이낸스 비트코인 백테스팅 데이터가 저정된 엑셒 파일을 파이썬 판다스 read_excel() 함수로 불러와서 데이터프레임에 저장하고 난 후부터, 본격적인 데이터 분석의 단계로 넘어갈 수 있습니다. 이번 포스팅에서는 엑셀 파일을 읽고, pivot_table()로 변환 후 describe()로 통계량을 분석하고, 이를 pyplot으로 그리는 방법까지 알아보았습니다.

 

 

함께 참고하면 더 좋은 글 :
1. 바이낸스 코인거래소 API Key로 계좌에 접속하는 파이썬 프로그래밍
2. 파이썬 바이낸스 API로 시계열 데이터를 가져오는 파이썬 프로그래밍
3. 파이썬 판다스 데이터 분석 : pivot, 엑셀 입력, 출력
4. 파이썬 바이낸스 API 시계열 데이터분석. 판다스 시간 처리
5. 바이낸스 비트코인 투자 백 테스팅. 파이썬 코인 투자 연습
6. 바이낸스 비트코인 변동성 돌파전략 백 테스팅 결과
7. 파이썬 프로그래밍 시작


참고자료

Python Tutorial Read Excel with Python Pandas

Leave a Comment