원래 파이썬은 데이터 분석에 유용한 언어가 아니었다. 과거에는 통계를 위한 언어인 R언어가 파이썬보다 기반이 더 좋았고, 현재도 통계적 분야에는 R언어가 조금 더 유용하다고 한다.

 

파이썬이 데이터분석 툴로 활약하게 된건 앞서 설명한 pandas와 지금부터 알아볼 numpy(numerical python) 라이브러리가 나오고 나서 부터라고 해도 과언이 아니다. 파이썬은 해당 라이브러리들로 인해 통계적 분석 뿐 아니라 범용적으로 사용이 가능해지면서 더욱 인기가 높아졌다.

 

numpy는 무엇일까?

 

기존 파이썬 언어로 계산하기 복잡한 수치들을 계산하기 쉽도록 도와주는 라이브러리이다. 

뿐만 아니라 list와 유사한 기능을 하는 numpy array를 사용하여 table을 다루는 것을 더 용이하게 해준다.

 

numpy array

 

파이썬의 기본 자료형인 list와 다르게 numpy array는 사칙연산을 할 수 있도록 구성되었다.

또한 indexing과 slicing을 사용할 수 있어 데이터를 다루는데 매우 적합하다.

 

기본적인 형태는 list와 유사한 형태로 작성할 수 있다.

numpy array

 

또 full, arange, random 등의 메서드를 활용해서 좀 더 쉽게 array를 구성할 수 있다.

array 구성의 다양한 메서드

 

계속해서 언급했던 사칙연산은 어떻게 적용되고 있는지 한번 알아보도록 하자.

 

우선 list에 곱연산을 적용해서 list 원소 값이 변화하는지 살펴보면,

list 연산

우리가 기대했던 것과는 다르게 출력이 된다. 그럼 numpy array에는 어떻게 출력이 될까?

 

array 연산
array끼리 연산 또한 가능하다

우리가 기대했던 원소 값의 변화가 발생하였다. 

 

이러한 것들은 단순히 편하다는 것을 넘어서서 코드를 완성한 후 직관성을 올려주고 코딩을 잘 하지못하는 사람들에게도 이해하기 쉽도록 도와주는 역할을 한다.

 

또 편리한 기능으로 indexing과 slicing을 넘어 filtering도 가능하게 해주는데, 이는 where함수를 사용해서 구현할 수 있다.

array filtering

where함수 안에 조건문을 넣어 boolean값을 받은 후 indexing을 통해 filtering을 한 것으로 filtering 된 값을 출력하는 것 이외에도 원하는 값만 변경해주는 필터링하는 등 다양하게 활용할 수 있다.

 

 

numpy는 list에 비해 연산속도가 빠르고, 같은 자료형만 한 배열 안에 담아 side-effect를 방지할 수 있으며, 문법적으로도 직관성이 뛰어나 사랑받고 있다.

pandas 역시 numpy를 바탕으로 해서 만들어져, numpy가 중요한 내용을 담고 있음을 알 수 있다.

'데이터 분석 > 파이썬' 카테고리의 다른 글

파이썬 클래스  (0) 2021.11.14
데이터 시각화 그래프  (0) 2021.06.29
pandas 데이터 정제 (2)  (0) 2020.06.27
판다스를 이용한 데이터 정제  (0) 2020.06.17
셀레니움을 이용한 웹크롤링(Web crawling)  (0) 2020.06.03