[Python] Numpy 모듈 기초 정리

Numpy는 데이터 분석 아니면 필요 없는 줄 알았는데 좌표를 주고 풀어야 하는 알고리즘 문제에서 굉장히 유용하게 쓰일 수 있음을 알았다. 필요할 때 보기위해 간단히 정리해두려고 한다.

list대신 numpy를 사용하는 이유
- 성능 : 빠르다
- 메모리 사이즈 : 더 적은 메모리를 사용한다.
- 데이터 처리에 유용한 여러가지 빌트인 함수가 있다.

numpy에서 데이터는 물리적 메모리 안에서 연속적으로 할당된다. 반면 리스트는 연속되지 않은 메모리를 사용하며 명시적 loop를 사용해야 한다.

사용법
import numpy as np
cs

메서드
- np.arange([start,] stop [, step], dtype = None )
range 함수와 유사하다

- np.ones(shape)
- np.zeros(shape)
- np.empty(shape) -> 랜던값으로 채워준다
- np.full(shape, number) -> number로 채워준다
- np.linspace( start, stop, num) -> start부터 stop 까지를 num 개로 등분해준다.

- np.sum(data)
data 내부의 모든 값의 합을 구한다.

data는 리스트와 비슷한 방법으로 접근할 수 있다. 차이점은 ',' 를 이용해서 접근할 수 있다는 것이다.
>> data[1][3] == data[1,3]
물론 이 접근 방법을 list에 사용하면 에러가 발생한다.
리스트 데이터를 numpy에서 사용하기 위해서는
 numpyData = np.array(data)
cs
이렇게 선언하여 numpyData를 사용하면 된다. 
데이터 배열의 일정 부분만 잘라서 사용하고 싶다면
np.sum(numpyData[1:3,2:5])
cs
이런식으로 사용하면 된다.
1 - 3 행, 2-5 열이 잘려서 sum 연산에 사용되게 된다.

No comments:

Powered by Blogger.