[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: