반응형

Numpy란?

데이터 과학을 공부하기 위해서는 수치 배열 데이터를 다루는데 능숙해지는 것이 필요합니다. 

파이썬에서는 Numpy(넘파이)와 Pandas(판다스)를 통해 수치 배열 데이터를 잘 다룰 수 있다고 생각합니다. 그렇다면 이 두개의 라이브러리에 익숙해지는 것이 필요하겠지요?

오늘은 Numpy에 대한 기초 내용을 정리해 보도록 하겠습니다.


1. Numpy 특징

벡터, 메트릭스, 고수준의 배열은 과학계산 컴퓨팅에 있어 필수 도구라 할 수 있습니다. 
입력 값 세트를 통해 계산이 반복될 때, 배열로 데이터를 나타내는 것이 자연스럽고 장점이 많습니다.

파이썬 과학계산 환경에서, 배열을 다루기 좋은 구조를 제공하는 라이브러리가 Numpy입니다. 
Numpy의 핵심 기능은 C로 구현되어 있습니다. 
그래서 배열을 계산하고 처리하는데 효율적인 기능들을 제공하고, 속도 또한 빠릅니다. 

첫 눈에 보기에 Numpy 배열은 파이썬 리스트 데이터 구조와 유사해 보입니다. 
하지만 중요한 차이점은 파이썬 리스트는 다양한 객체를 담을 수 있는 컨테이너인데 반해 Numpy 배열은 동일한 자료형만 담을 수 있다는 점입니다.

하지만, Numpy에는 고수준의 데이터 분석 기능을 제공하지는 않습니다. 
그러므로, 나중에 Pandas 같은 도구를 사용해 데이터 분석을 수행하는 것이 효과적입니다. 

2. 인스톨

아나콘다와 같은 패키지를 설치했을 경우에는 numpy가 함께 설치가 될 것입니다. 
별도로 설치할 경우에 통상 pip를 사용해서 아래와 같이 설치합니다. 

> pip install numpy

pip는 파이썬 패키지를 설치할 때 가장 많이 사용하는 툴입니다. 

3. 라이브러리 읽어들이기

# Numpy 읽어들이기
>>> import numpy as np

4. Numpy 배열과 for 루프 속도 비교

위 jupyter에서 실행한 결과를 보면, 대략 25배 이상 처리 속도 차이가 나는 것을 알 수 있습니다.  


5. 배열 만들기와 속성으로 배열 정보 알아보기 

Numpy에 대해 기초 정보를 정리해보려고 했는데, 오늘은 여기까지만 해야 할 것 같습니다. 

다음에는 Numpy의 배열, 스칼라 간 연산 및 색인, 슬라이싱, 수학 및 통계 메서드를 정리해 보도록 하겠습니다.





반응형

+ Recent posts