-
04-3 파이썬으로 표준화데이터 분석/파이썬으로 배우는 데이터 분석을 위한 통계학 2022. 3. 17. 21:16
표준화를 직접 해보니까 어때? 굉장히 복잡해 보이지만 어렵지 않은 더러운 느낌이 나지.. 변수도 많고 과정도 코드로 구현하니까 길었잖아? 복습 차원에서 코드를 다시 한 번 쳐다볼까?
다시 봐도 참 길군.. 그럼 혹시 모듈이나 라이브러리를 사용하면 좀 더 쉽게 표준화를 할 수 있지 않을까?!
-
우선 통계적 수치를 계산할 때 사용되는 파이썬 표준 라이브러리의 'statistics' 모듈을 활용해 볼게. statistics 모듈을 사용하면 표준점수를 엄청 간단하게 구할 수 있었지? 표준점수를 구하기 위해선 평균과 표준편차를 알아야 하는데 평균은 statistics 모듈의 'mean()' 함수로, 표준편차는 'stedv()' 함수로 구할 수 있어. 그리고 'statistics' 모듈은 통계학의 약자인 'stats'으로 줄여서 사용하도록 할게. 아래의 코드를 볼까?
위 코드를 보면 반복복문의 내용은 statistics 모듈의 함수를 사용하지 않았을 때와 같지만 반복문을 준비하는 과정이 크게 줄어든 것을 볼 수 있어. 당연히 평균과 표준편차를 한 번에 구했기 때문에 전체 코드는 줄어들 수 밖에 없지~ 과정이 간단하니 편하고 말야~ 좋아 좋아~
이번에는 'numpy' 라이브러리를 사용해 볼까? numpy 라이브러리도 statistics 라이브러리와 마찬가지로 평균과 표준편차를 쉽게 구할 수 있어. 평균은 statistcis 모듈과 똑같이 'mean()' 이라는 함수를 쓰면 되지만, 표준편차는 'std()' 라는 함수를 써야 되는 것이 차이점이야. 아래의 numpy 라이브러리를 사용한 코드와 위의 statistics 모듈을 사용한 코드를 비교 해 보면 알 수 있을거야!
어차피 코드의 내용은 똑같기 때문에 표준점수들이 statistics 모듈을 쓴 것과 똑같이 출력되는 것을 볼 수 있어. 당연하지?
-
하지만 아직 그렇게 편하다는 생각이 안들어. 표준점수를 구하는 반복문의 코드가 길어서 꼴보기 싫고.. 어차피 목적이 표준점수라면 딱! 표준점수만 튀어 나오게 하고 싶은데.. 방법이 없을까?
있지!
이번에는 처음 써 보는 과학 컴퓨팅과 기술 컴퓨팅에 사용되는 유명한 파이썬 라이브러리인 'scipy(사이파이)'를 써 볼거야.
scipy도 파이썬 기본 라이브러리는 아니지만 우리가 실습하는 환경에서는 설치가 되어있을 것이기 때문에 따로 설치하지 않아도 돼. 하지만 google colab이나 trinket과 같은 클라우드 환경에서 실습하는 것이 아니라면 아래의 명령어로 설치해서 쓰면 돼!
pip install scipy
scipy 라이브러리를 사용할 준비가 되었다면 scipy 라이브러리의 'stats' 모듈을 import 해 줄거야. 그리고 scipy 라이브러리의 stats 모듈을 사용한다는 뜻에서 'ss'라고 줄여주자!
from scipy import stats as ss
scipy 라이브러리의 stats 모듈을 ss로 사용할 준비가 되었다면, 표준점수를 바로 뽑아낼 수 있는 함수를 알아야겠지? 엄청 쉬워. 표준점수 말 그대로 'zscore()'라는 함수를 사용하면 돼. 아래의 코드를 보면 바로 알 수 있어!
으아.. 엄청나게 코드가 간단해진 것을 볼 수 있어! 아직 반올림은 되지 않았지만 표준점수도 잘 출력되고 말야! 대단하지? 이렇게 쉬워도 되나 할 정도로 쉽게 표준점수를 구할 수 있게 되었어!
그래도 너무 쉬우면 이상하니까 마지막으로 소수 둘째 자리에서 반올림하는 코드만 작성해주고 끝낼까? 반복문을 사용해서 표준점수가 들어있는 리스트의 각 항목들을 반올림 해 볼게!
그런데.. 반복문을 쓰지 않으려고 라이브러리까지 사용한건데.. 반올림 한다고 반복문을 사용하면 모양이 우습게 되잖아? 이럴 땐 리스트의 항목들을 한 번에 반올림 해줄 수 있어. 똑같이 'round()' 함수를 쓸 건데 리스트를 사용하면 돼! 아래와 같이 말야.
리스트이름.round(소수점자리)
코드로 구현하면 아래와 같이 간단해 질거야.
보기에도 깔끔하고 내용도 간단해졌지? 아주 좋아~
앞으로 표준화를 할 땐 scipy 라이브러리를 사용해서 쉽게 표준화를 해 볼게. 하지만 여러분들은 아직 표준화 하는 연습을 더 할 필요가 있기 때문에 되도록 손으로 직접 계산을 해 보고 (물론 계산기의 힘을 빌려도 좋아!), 손으로 계산하는 연습이 어느정도 되었다면 파이썬으로 표준점수를 구해봐. 대신 처음에는 라이브러리나 모듈을을 사용하지 말고 표준화 하는 연습을 해 보고 연습이 잘 된 다음에 라이브러리나 모듈을 사용하는 것을 추천할게!
처음부터 모듈이나 라이브러리에 의존하다 보면 프로그래밍 언어에 대한 이해도도 낮아질 뿐 더라 기본적인 통계적 계산 연습도 게을리 하게 되니까 기본기를 탄탄하게 하기 위해서는 꼭! 차근 차근 연습해 보는 것을 추천할게!
그럼 안뇽~
'데이터 분석 > 파이썬으로 배우는 데이터 분석을 위한 통계학' 카테고리의 다른 글
04-5 정규분포와 표준정규분포 (0) 2022.03.17 04-4 표준점수의 평균과 표준편차 (0) 2022.03.17 04-2 표준화와 표준점수 (0) 2022.03.17 04-1 척도 (0) 2022.03.17 03-8 모집단과 표본집단 : 모수치와 통계치 (0) 2022.03.17